• Keine Ergebnisse gefunden

geant4_10_3_package Documentation Release 1.0

N/A
N/A
Protected

Academic year: 2022

Aktie "geant4_10_3_package Documentation Release 1.0"

Copied!
23
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

geant4_10_3_package Documentation

Release 1.0

Maximilian Burkart

Feb 02, 2017

(2)
(3)

TABLE OF CONTENTS:

1 Introduction 1

2 Controlling an application 3

2.1 Subpackages . . . 3 2.2 Modules . . . 3 2.3 Classes . . . 3

3 Geometries 7

3.1 Classes . . . 7

4 Materials 9

5 Physics lists 11

6 Indices and tables 13

Bibliography 15

Python Module Index 17

Index 19

i

(4)
(5)

CHAPTER

ONE

INTRODUCTION

The geant4_10_3_package Python package is designed to simulate particle interactions in matter. It uses the Geant4Py Pythonbridge to make the Geant4 toolkit available to the Pythonscripting language. It is intended to be used in courses on detector physics. The package enables an unexperienced user to execute simulations with the Geant4 toolkit. It aims to demonstrate the usage of the Geant4 toolkit. Therefore it introduces the class ApplicationManagerto control the workflow of a Geant4 application.

The package contains modules used by all possible simulations. These include the visualization of the detector and simulated events, three action classes intended to store information on events and a primary generator. The changeable parts can be chosen by methods of theApplicationManagerclass. The changeable parts include the geometry and the physics list. A set of ready to use geometries is provided in thegeometrysubpackage. Some of the reference physics lists as well as two additionally defined physics lists can be used. The properties of the primary particle can also be changed easily. This documentation gives an overview of the methods provided by theApplicationManager and their usage.

The first section presents the methods of theApplicationManagerclass. The second section gives an overview of the defined geometries and their interfaces. The materials used in the detector geometries are discussed in the third section. The fourth and last section introduces the additionally defined physics lists.

1

(6)

2 Chapter 1. Introduction

(7)

CHAPTER

TWO

CONTROLLING AN APPLICATION

Control Geant4.

This package provides the functionalities needed to control the Geant4 kernel. In order to do so the ApplicationManagerclass is defined. Auto-completion is also activated for use in interactive mode.

Subpackages

geometry : Define detector geometries.

Modules

actions : Define action classes and readout functions.

libphyslist : Define additional physics lists.

materials : Define detector materials.

vis : Visualize the detector and events.

Classes

ApplicationManager : Control the Geant4 application.

classgeant4_10_3_package.ApplicationManager Control a Geant4 application.

This class provides an easy way to control the workflow of a Geant4 application and to change parameters of the simulation. It allows the analysis of simulated events.

calo_readout()

Count the number of charged tracks in the active material.

Count the number of charged particles crossing active layers of a calorimeter. First determine the start and the end point of the track. Next, use those points to calculate the number of crossed active layers for each track. Add up the result for all tracks. To insure correct functionality the volumes in the detector have to be numbered in increasing order and the active layers assigned odd numbers. The parameter for the world volume should be -1.

Returns The number of charged tracks in all active layers.

Return type int

3

(8)

change_material()

Change the material of thepbboxgeometry.

This method enables switching between lead and iron as the material thepbbox‘s Target volume is built of.

get_edep_in_volume(volumeName) Calculate the energy deposited in a volume.

Parameters volumeName(str) – Name of the volume.

Returns The energy deposited in the volume in GeV.

Return type float get_xOfFirstVertex()

Calculate the x coordinate of the first vertex.

Loop over all secondary particles and find the vertex where the first secondary particle is created.

Returns The x coordinate of the creation vertex of the first secondary particle.

Return type float initialize()

Initialize the Geant4 kernel.

This method creates and passes the three mandatory and the additional user action classes to the RunManager. TheInitialize()method of theRunManageris then invoked to initialize the detec- tor. This method must be called before starting the first run. Depending on the state theisInitialized flag is in, all action classes are either assigned to theRunManagerinstance or only the new geometry is initialized. The re-initialization of the geometry takes place if the flag holds true.

set_energy(energy)

Set the energy of the primary particle.

Parameters energy(float) – Kinetic energy of the primary particle in GeV.

set_geometry(geometryName) Set the geometry.

Specify theG4VUserDetectorConstructionclass used to describe the detector geometry during the simulation. This method has to be invoked before calling theinitialize()method. The method is also used to change the geometry between two runs. Additional arguments may be passed to this method like one would call the object itself, e.g.:

set_geometry('pbbox(length=40)')

Parameters geometryName (str) – Name of the G4VUserDetectorConstruction class that should be used during the simulation.

set_numberOfParticles(nOfParticles) Set the number of particles.

Parameters nOfParticles(int) – Number of primary particles simultanously generated in one event.

set_particle(particle) Set the primary particle.

Specify the primary particle the ParticleGun is going to use in the following events. If the particle is referenced to by an integer, this integer is the representation of the particle in terms of the Monte Carlo particle numbering scheme.

4 Chapter 2. Controlling an application

(9)

geant4_10_3_package Documentation, Release 1.0

Parameters particle(str or int) – Identifier of the particle. If the particle is referenced to by an integer, this integer is the representation of the Monte Carlo particle numbering scheme. Some string and integer representations of common particles are given in the table below.

string representation PDG code

e- 11

e+ -11

mu- 13

mu+ -13

pi+ 211

gamma 22

set_physics_list(physList) Set the physics list.

Specify the physics list used during the simulation.

Parameters physList(str) – Name of the physics list. Possible physics lists include the lists defined in thelibphyslistsubmodule and the lists provided by the Geant4Py module.

start_run(numberOfEvents=1,vis=1) Start a run.

Parameters

numberOfEvents(int) – Number of events simulated in the started run.

Default is 1.

vis(int) – Draw option. If the value is0, visualization is disabled.

Default is1.

2.3. Classes 5

(10)

6 Chapter 2. Controlling an application

(11)

CHAPTER

THREE

GEOMETRIES

Construct the detector geometries.

This subpackage provides a set of geometries that can be used during simulations. Each geometry is de- fined in its own module. The definition of the geometries is done by defining a class inherited from the G4VUserDetectorConstructionclass.

Classes

The available geometry classes are:

classgeant4_10_3_package.geometry.example_geometry.example_geometry(halfX=20.0) A simple geometry example geometry.

This example geometry introduces the first user to the Geant4 way of defining geometries.

Parameters halfX(float) – Half length of the created box in cm. The created box ranges from -halfX to halfX.

Default is 20.

classgeant4_10_3_package.geometry.pbbox.pbbox(length=20.0,height=10.0) Create a simple lead box to simulate elementary interactions.

The material of the box can be changed to iron via the change_material() method of the ApplicationManagerclass.

Parameters

length(float) – Length of the lead box in cm.

Default is 20.

height(float) – Height and width of the lead box.

Default is 10.

classgeant4_10_3_package.geometry.samplingcalo.samplingcalo(absLen=2.0,

actLen=1.0, layer- Num=16)

Define a sampling calorimeter made of lead and liquid argon layers.

The width of the absorber, the active layers and the number of layers may be set by the user. The length of the calorimeter is calculated from these values.

Parameters

7

(12)

absLen(float) – Width of the absorber layer in cm.

Default is 2.

actLen(float) – Width of the active layer in cm.

Default is 1.

layerNum(int) – Number of active layers in the calorimeter.

Default is 16.

classgeant4_10_3_package.geometry.febox_with_tailcatch.febox_with_tailcatch(length=20.0, height=10.0) Create a volume for leakage studies.

The volume consists of an iron box followed by a smaller lead box. The lead box is used to determine if a part of the energy of the incoming particle is not deposited in the iron box.

Parameters

length(float) – Length of the iron box in cm.

Default is 20.

height(float) – The y and z dimension of the box in cm.

Default is 10.

classgeant4_10_3_package.geometry.compcalor.compcalor(absLen=3.0, actLen=1.0, fe- Len=1.6)

Construct a sampling calorimeter used for compensation studies.

The calorimeter consists of passive iron layers and active scintillator layers. Its length is determined by the total length of iron that should be used. The number of layers is calculated from the given parameters.

Parameters

absLen(float) – Width of the absorber layer in cm.

Default is 3.0.

actLen(float) – Width of the active layer in cm.

Default is 1.0.

feLen(float) – Total amount of iron given in length in m.

Default is 1.6.

classgeant4_10_3_package.geometry.tumortherapy.tumortherapy Construct the geometry used for studies on radiation therapy.

The geometry represents the head of a patient. It consists of a spherical shell made out of the bone material.

Inside this shell are two water-filled spheres. The bigger one represents the brain of the patient and the small one the tumor.

8 Chapter 3. Geometries

(13)

CHAPTER

FOUR

MATERIALS

Create the materials used in the geometries.

This module provides the materials being used by the geometries. These materials can also be used to de- fine new G4VUserDetectorConstruction classes. The properties of materials not created through the gNistManagerinstance are taken from the review Atomic and Nuclear properties of materialsprovided by the Particle Data Group.[Pat16]_ All available materials are listed below.

vac [G4Material] The representation of the vacuum.

air [G4Material] The representation of air at standard conditions.

water [G4Material] The representation of water.

Pb [G4Material] The representation of lead.

Fe [G4Material] The representation of iron.

liquidAr [G4Material] The representation of liquid argon for use in calorimeters.

scint [G4Material] The scintillator material used in the compensating calorimeter. The properties of this material are copied from the old application.

pet [G4Material] The representation of polyethylene.

bone [G4Material] The bone material used to build the skull.

9

(14)

10 Chapter 4. Materials

(15)

CHAPTER

FIVE

PHYSICS LISTS

Provide two additional physics lists.

The two physics lists inherit from reference physics lists and add a tracking cut on neutrons with energies below 0.5 MeV to those physics lists. They also allow the use of theG4UserLimitsclass during a simulation.

classgeant4_10_3_package.libphyslist.MyQGSP_BERT(verbose=1) Create the physics list MyQGSP_BERT.

This list inherits from the reference physics list QGSP_BERT and is used when cuts on the step size or tracking cuts are needed.

Parameters verbose(int) – Verbosity during the construction of the list.

classgeant4_10_3_package.libphyslist.TherapyPhysics(verbose=1) Create the physics list used for the radiation therapy simulation.

This physics lists inherits from the QGSP_BIC reference physics list.

Parameters verbose(int) – Verbosity during the construction of the list.

11

(16)

12 Chapter 5. Physics lists

(17)

CHAPTER

SIX

INDICES AND TABLES

• genindex

• modindex

• search

13

(18)

14 Chapter 6. Indices and tables

(19)

BIBLIOGRAPHY

[Pat16] Patrigiani, C. et al (Particle Data Group): 2016 Review of Particle Physics. Chinese Physics C, 40(10001), 2016. avaiable at: www-pdg.lbl.gov/2016/reviews/ rpp2016-rev-atomic-nuclear-prop.pdf

15

(20)

16 Bibliography

(21)

PYTHON MODULE INDEX

g

geant4_10_3_package,3

geant4_10_3_package.geometry,7 geant4_10_3_package.libphyslist,11 geant4_10_3_package.materials,9

17

(22)

18 Python Module Index

(23)

INDEX

A

ApplicationManager (class in geant4_10_3_package),3

C

calo_readout() (geant4_10_3_package.ApplicationManager method),3

change_material() (geant4_10_3_package.ApplicationManager method),3

compcalor (class in geant4_10_3_package.geometry.compcalor), 8

E

example_geometry (class in

geant4_10_3_package.geometry.example_geometry), 7

F

febox_with_tailcatch (class in

geant4_10_3_package.geometry.febox_with_tailcatch), 8

G

geant4_10_3_package (module),3

geant4_10_3_package.geometry (module),7 geant4_10_3_package.libphyslist (module),11 geant4_10_3_package.libphyslist.MyQGSP_BERT

(class in geant4_10_3_package.libphyslist),11 geant4_10_3_package.libphyslist.TherapyPhysics (class

in geant4_10_3_package.libphyslist),11 geant4_10_3_package.materials (module),9

get_edep_in_volume() (geant4_10_3_package.ApplicationManager method),4

get_xOfFirstVertex() (geant4_10_3_package.ApplicationManager method),4

I

initialize() (geant4_10_3_package.ApplicationManager method),4

P

pbbox (class in geant4_10_3_package.geometry.pbbox), 7

S

samplingcalo (class in

geant4_10_3_package.geometry.samplingcalo), 7

set_energy() (geant4_10_3_package.ApplicationManager method),4

set_geometry() (geant4_10_3_package.ApplicationManager method),4

set_numberOfParticles() (geant4_10_3_package.ApplicationManager method),4

set_particle() (geant4_10_3_package.ApplicationManager method),4

set_physics_list() (geant4_10_3_package.ApplicationManager method),5

start_run() (geant4_10_3_package.ApplicationManager method),5

T

tumortherapy (class in

geant4_10_3_package.geometry.tumortherapy), 8

19

Referenzen

ÄHNLICHE DOKUMENTE

Previous experimental research has shown that such models can account for the information processing of dimensionally described and simultaneously presented choice

The results of these simulations show that the sensitivity of nonlinear distortion for nonlinear parameters of the first order is close to unity, what means that the

1) Generally by adding one component to BHA the chance of tool failure would increase, as per tools failure analysis the RSS push the bit BHAs has more failure in comparison with

A simple method was proposed to reduce the parameter search space of the Lorenz system, based on the determination of the system’s equilibrium points from the analysis of the

Computational analyses of the alternatives of population growth in the GDR, presented in this paper, were done with the help of a simulation model-an extension of the multiregional

The purposes of a study of regional development as an instance of planned change are similar in nature to the contributions of organizational analysis in general.. First, there are

Sensitivity analysis of variations in the preferences of the decision maker can be easily carried out; in fact we will present such a sensitivity analysis as part of our application

Gli agric oltori in possesso di titoli all’aiuto assegnati con la presentazione della Domanda Unica il 15 giugno 2015, hanno potuto chiedere, entro il 15 settembre dello