Added to SVN Repository.
24
geant4/LEMuSR/doc/About.dox
Normal file
@ -0,0 +1,24 @@
|
||||
/*! @page About About Geant4
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref Intro
|
||||
<B> Up:</B> @ref Intro
|
||||
<B> Next:</B> @ref Voc
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section sAbout What is Geant4?
|
||||
|
||||
<P>
|
||||
<A HREF="http://www.geant4.cern.ch/"><STRONG>Geant4</STRONG></A> is a C++ set of libraries designed for Monte-Carlo simultation. This <I><B>GE</B></I>ometry <I><B>AN</B></I>d <I><B>T</B></I>racking toolkit was developped at CERN initially for high energy physics. It contains a large amount of data about particles, interactions and materials inputed according to the standard model. Nowaday, the package is used in a wide range of applications, from DNA modeling to astrophysics.
|
||||
|
||||
<P>
|
||||
In order to build a simple simulation, one just has to define a geometry and choose the interactions to consider. For non trivial experiments like \lemu, one may have to personalize some aspects of the original Geant4 code like physics processes or electromagnetic fields. It is now widely used in all kind of fields from dna modelling to astrophysics.
|
||||
|
||||
<P>
|
||||
The simulation can be interactive thanks to a user interface already included in Geant4. The possibilities of geometry visualization, histogramming and code personalization are key elements of Geant4.
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
*/
|
24
geant4/LEMuSR/doc/About.dox~
Normal file
@ -0,0 +1,24 @@
|
||||
/*! @page About About Geant4
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref Intro
|
||||
<B> Up:</B> @ref Intro
|
||||
<B> Next:</B> @ref Voc
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section sAbout What is Geant4?
|
||||
|
||||
<P>
|
||||
<A HREF="http://www.geant4.cern.ch/"><STRONG>Geant4</STRONG></A> is a C++ set of libraries designed for Monte-Carlo simultation. This <I><B>GE</B></I>ometry <I><B>AN</B></I>d <I><B>T</B></I>racking toolkit was developped at CERN initially for high energy physics. It contains a large amount of data about particles, interactions and materials inputed according to the standard model. Nowaday, the package is used in a wide range of applications, from DNA modeling to astrophysics.
|
||||
|
||||
<P>
|
||||
In order to build a simple simulation, one just has to define a geometry and choose the interactions to consider. For non trivial experiments like \lemu, one may have to personalize some aspects of the original Geant4 code like physics processes or electromagnetic fields. It is now widely used in all kind of fields from dna modelling to astrophysics.
|
||||
|
||||
<P>
|
||||
The simulation can be interactive thanks to a user interface already included in Geant4. The possibilities of geometry visualization, histogramming and code personalization are key elements of Geant4.
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
*/
|
27
geant4/LEMuSR/doc/MClasses.dox
Normal file
@ -0,0 +1,27 @@
|
||||
/*! @page Mandatory LEMuSR Mandatory Classes
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref lemusetup
|
||||
<B> Up:</B> @ref Main
|
||||
<B> Next:</B> @ref runmgr
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<UL>
|
||||
<LI>@ref runmgr
|
||||
<LI>@ref geometry
|
||||
<LI>@ref physicsref
|
||||
<LI>@ref pga
|
||||
</UL>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
27
geant4/LEMuSR/doc/MClasses.dox~
Normal file
@ -0,0 +1,27 @@
|
||||
/*! @page Mandatory LEMuSR Mandatory Classes
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref lemusetup
|
||||
<B> Up:</B> @ref Main
|
||||
<B> Next:</B> @ref runmgr
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<UL>
|
||||
<LI>@ref runmgr
|
||||
<LI>@ref geometry
|
||||
<LI>@ref physicsref
|
||||
<LI>@ref pga
|
||||
</UL>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
75
geant4/LEMuSR/doc/Useractions.dox
Normal file
@ -0,0 +1,75 @@
|
||||
/*! @page Useraction The User Action Classes
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref Mandatory
|
||||
<B> Up:</B> @ref Main
|
||||
<B> Next:</B> @ref howg4
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
\anchor useraction_intro
|
||||
|
||||
<UL>
|
||||
<LI>@ref useractintro
|
||||
<LI>@ref runaction
|
||||
<LI>@ref eventaction
|
||||
<LI>@ref trackingaction
|
||||
<LI>@ref stackingaction
|
||||
<LI>@ref steppingaction
|
||||
</UL>
|
||||
|
||||
\section useractintro Introduction
|
||||
The user action classes are very useful monitoring features of \gf. Thanks to these classes, it is possible to operate actions at different stages of the simulation.
|
||||
|
||||
The user is completely free in the implementation of the actions to take, and therefore the possibilities offered by this feature are innumerable, from interactivity to histogramming, debugging, visualization or even direct optimization of the simulation parameters etc.
|
||||
|
||||
In the following pages, we describe the use of those classes for the \lemu simulation.
|
||||
|
||||
|
||||
\section runaction User Run Action
|
||||
The user run action class operates actions at the beginning and at the end of each run. In LEMuSRRunAction.cc, one can see that it is only used to initialize and update the visualization manager.
|
||||
|
||||
An interesting thing to notice is that some commands can be sent directly to the user interaction manager without going through the terminal. This can be of special utility when running the simulation in batch mode.
|
||||
|
||||
|
||||
\section eventaction User Event Action
|
||||
The user event action class operates actions at the beginnig and at the end of each event of a given run. Initially used for the hits collection, we left its implementation open.
|
||||
|
||||
The two main classes are BeginOfEventAction and EndOfEventAction. For the implementation refer to the LEMuSREventAction.cc file.
|
||||
|
||||
|
||||
\section trackingaction User Tracking Action
|
||||
|
||||
The tracking action class is implemented in the LEMuSRTrackingAction.cc file. The two main methods are PreUserTrackingAction and PostUserTrackingAction. In \lemu simulation, we first used the tracking action to get the gyromagnetic parameters of the tracked particle. They can be accessed by any other class via a pointer to the tracking action instance.
|
||||
|
||||
This is very useful in particular for spin precession calculations. Indeed, \gf do not handle yet different gyromagnetic ratios or precession of neutral particles. The muonium data can be highly biased by this.
|
||||
|
||||
However, this procedure is not very "nice" because the tracking action should remain an optional class i.e. should not be necessary to run the simulation. Now the code uses the G4TrackingManager class from geant4, which is a top executive class together with the G4RunManager, G4EventManager and G4SteppingManager classes.
|
||||
|
||||
Here is a short overview on the hierarchy organisation of thoses classes.
|
||||
|
||||
|
||||
\section stackingaction User Stacking Action
|
||||
The user action class can be implemented to select the tracks to consider or not in order to gain calculation time. One can also use it for statistics or to take actions on the tracks to be simulated.
|
||||
|
||||
\section steppingaction User Stepping Action
|
||||
|
||||
The most important user action class of the \lemu simulation is the stepping action. Five different stepping action classes were implemented:
|
||||
<ul>
|
||||
<li>AsymCheck: for tests of the asymmetry.
|
||||
<li>FieldCheck: for tests of electromagnetic fields.
|
||||
<li>FocalLengthTest: for tests of the focal length.
|
||||
<li>TDCheck: for tests of the trigger detector.
|
||||
<li>LEMuSRSteppingAction for a usual run.
|
||||
</ul>
|
||||
|
||||
The stepping action has to be set in the LEMuSR.cc file. Only one stepping action can be enabled at once. Therefore, we defined environement variables in order to select under which form the code should be compiled.
|
||||
|
||||
After important modification of the code it is useful to go through all the tests in order to verify that everything still runs correctly.
|
||||
|
||||
In the following, we describe the actions of those different stepping actions.
|
||||
|
||||
*/
|
||||
|
||||
|
75
geant4/LEMuSR/doc/Useractions.dox~
Normal file
@ -0,0 +1,75 @@
|
||||
/*! @page Useraction The User Action Classes
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref Mandatory
|
||||
<B> Up:</B> @ref Main
|
||||
<B> Next:</B> @ref howg4
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
\anchor useraction_intro
|
||||
|
||||
<UL>
|
||||
<LI>@ref useractintro
|
||||
<LI>@ref runaction
|
||||
<LI>@ref eventaction
|
||||
<LI>@ref trackingaction
|
||||
<LI>@ref stackingaction
|
||||
<LI>@ref steppingaction
|
||||
</UL>
|
||||
|
||||
\section useractintro Introduction
|
||||
The user action classes are very useful monitoring features of \gf. Thanks to these classes, it is possible to operate actions at different stages of the simulation.
|
||||
|
||||
The user is completely free in the implementation of the actions to take, and therefore the possibilities offered by this feature are innumerable, from interactivity to histogramming, debugging, visualization or even direct optimization of the simulation parameters etc.
|
||||
|
||||
In the following pages, we describe the use of those classes for the \lemu simulation.
|
||||
|
||||
|
||||
\section runaction User Run Action
|
||||
The user run action class operates actions at the beginning and at the end of each run. In LEMuSRRunAction.cc, one can see that it is only used to initialize and update the visualization manager.
|
||||
|
||||
An interesting thing to notice is that some commands can be sent directly to the user interaction manager without going through the terminal. This can be of special utility when running the simulation in batch mode.
|
||||
|
||||
|
||||
\section eventaction User Event Action
|
||||
The user event action class operates actions at the beginnig and at the end of each event of a given run. Initially used for the hits collection, we left its implementation open.
|
||||
|
||||
The two main classes are BeginOfEventAction and EndOfEventAction. For the implementation refer to the LEMuSREventAction.cc file.
|
||||
|
||||
|
||||
\section trackingaction User Tracking Action
|
||||
|
||||
The tracking action class is implemented in the LEMuSRTrackingAction.cc file. The two main methods are PreUserTrackingAction and PostUserTrackingAction. In \lemu simulation, we first used the tracking action to get the gyromagnetic parameters of the tracked particle. They can be accessed by any other class via a pointer to the tracking action instance.
|
||||
|
||||
This is very useful in particular for spin precession calculations. Indeed, \gf do not handle yet different gyromagnetic ratios or precession of neutral particles. The muonium data can be highly biased by this.
|
||||
|
||||
However, this procedure is not very "nice" because the tracking action should remain an optional class i.e. should not be necessary to run the simulation. Now the code uses the G4TrackingManager class from geant4, which is a top executive class together with the G4RunManager, G4EventManager and G4SteppingManager classes.
|
||||
|
||||
Here is a short overview on the hierarchy organisation of thoses classes.
|
||||
|
||||
|
||||
\section stackingaction User Stacking Action
|
||||
The user action class can be implemented to select the tracks to consider or not in order to gain calculation time. One can also use it for statistics or to take actions on the tracks to be simulated.
|
||||
|
||||
\section steppingaction User Stepping Action
|
||||
|
||||
The most important user action class of the \lemu simulation is the stepping action. Five different stepping action classes were implemented:
|
||||
<ul>
|
||||
<li>AsymCheck: for tests of the asymmetry.
|
||||
<li>FieldCheck: for tests of electromagnetic fields.
|
||||
<li>FocalLengthTest: for tests of the focal length.
|
||||
<li>TDCheck: for tests of the trigger detector.
|
||||
<li>LEMuSRSteppingAction for a usual run.
|
||||
</ul>
|
||||
|
||||
The stepping action has to be set in the LEMuSR.cc file. Only one stepping action can be enabled at once. Therefore, we defined environement variables in order to select under which form the code should be compiled.
|
||||
|
||||
After important modification of the code it is useful to go through all the tests in order to verify that everything still runs correctly.
|
||||
|
||||
In the following, we describe the actions of those different stepping actions.
|
||||
|
||||
*/
|
||||
|
||||
|
132
geant4/LEMuSR/doc/commands.dox
Normal file
@ -0,0 +1,132 @@
|
||||
/*! @page commands Commands
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref
|
||||
<B> Up:</B> @ref
|
||||
<B> Next:</B> @ref
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
We present here the most useful commands to run the simulation. Some additional commands can be accessed entering <b>help</b> in the run terminal or on the <A href="http://geant4.web.cern.ch/geant4/G4UsersDocuments/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_.html">web</A>. We do not put them here because they are not necessary for the \lemu simulation.
|
||||
|
||||
\section coms_config UI control commands
|
||||
* - <b>/control/execute macrofile </b> : execute a macro file. The macro files are edited as a list of commands.
|
||||
*
|
||||
* - <b>/control/verbose </b> : set the verbose level
|
||||
*
|
||||
* - <b>/control/shell </b> : access the shell
|
||||
*
|
||||
* - <b>/help </b> : call interactive help with all the commands.
|
||||
|
||||
|
||||
|
||||
\section coms_run Run control commands
|
||||
* - <b>/run/beamOn #n</b> : simulate n particles
|
||||
*
|
||||
* - <b>/run/verbose </b> : set the verbose level
|
||||
|
||||
|
||||
\section coms_det Geometry control commands
|
||||
\subsection com_Mode Detector Mode
|
||||
* - <b>/Detector/Mode [cryo/mcp] </b> :
|
||||
*
|
||||
* - <b>/Detector/CfoilThickness [\f$ \mu g / cm^{2}\f$] </b> : set the thickness of the carbon foil
|
||||
*
|
||||
* - <b>/Detector/MaxStepInField [\f$ mm \f$]</b> : set a cut on the maximal step size in the regions with field.
|
||||
*
|
||||
\subsection com_sample Sample Specifications
|
||||
* - <b>/Detector/Sample/Grid [on/off]</b> : <b>NB!</b> the command is not working because no field map was generated for this case.
|
||||
*
|
||||
* - <b>/Detector/Sample/Guards [on/off]</b> : enable or disable the guard rings in sample cryostat
|
||||
*
|
||||
* - <b>/Detector/Sample/HolderMaterial [material]</b> : to change the material of the sample holder plate.
|
||||
*
|
||||
\subsection com_volt Electric Fields and Voltage Settings
|
||||
* - <b>/Detector/ElectricField [on/off]</b> : enables fiels at trigger detector or disables all electric fields.
|
||||
*
|
||||
In order to set the electric field for the third lense and the conical anode one should enter a voltage value. The fields maps were generated for 1 kV. During the initialization they are scaled according to the entered voltage.
|
||||
* - <b>/Detector/Voltage/ThirdLens [Third Lens Voltage kV]</b> : Third lens voltage in kilovolt
|
||||
*
|
||||
* - <b>/Detector/Voltage/ConicalAnode [RA-Left Voltage [kV]] [RA-Right Voltage [kV]] [Build]</b> : Ring anode voltage in kilovolt. The built variable is 1 or 0 and specifies if the detector is rebuilt after the values are changed or later.
|
||||
*
|
||||
* - <b>/Detector/Voltage/Cryo [kV]</b> : Sample voltage in kilovolt
|
||||
*
|
||||
\subsection com_mag Magnetic Field
|
||||
* - <b>/Detector/MagneticField [Gauss] </b> : set the value of the magnetic field
|
||||
*
|
||||
\subsection com_vis Visualization Mode
|
||||
* - <b>/Detector/View [total/half/quarter]</b> : build the detector with half cut or quarter cut. <i>The detector must be built in total view to run the simulation.</i>
|
||||
|
||||
|
||||
|
||||
|
||||
\section coms_pga Particle gun control commands
|
||||
* - <b>/lemuGun/gunPosition [X [cm]] [Y [cm]] [Z [cm]]</b> : the gun position in centimeters. Note that the origin of the geometry is the mcp detector and the carbon foil is at -113.7cm
|
||||
*
|
||||
* - <b>/lemuGun/MomentumDirection [momX ] [momY ] [momZ ] </b> : a unitary vector for the particles momentum direction.
|
||||
*
|
||||
* - <b>/lemuGun/particle particle </b> : Particle types: mu+/Mu or other.
|
||||
*
|
||||
* - <b>/lemuGun/scan/square [X Y B]</b> : flat distribution of B bins in a rectangle 2X x 2Y. Distances are in centimeters.
|
||||
*
|
||||
* - <b>/lemuGun/scan/circular [R N M] </b> : circular distribution with N steps along the radius R and M steps along the \f$ 2\pi\f$ angle. Radius in cemtimeters.
|
||||
*
|
||||
* - <b>/lemuGun/gauss </b> : gaussian distribution of x and y.
|
||||
*
|
||||
* - <b>/lemuGun/reset </b> : reset the counters for the scan mode.
|
||||
|
||||
|
||||
|
||||
\section coms_vis Visualization control commands
|
||||
To start a visualization driver and draw the geometry one may follow the following four step procedure:
|
||||
*
|
||||
* -# <b>/vis/scene/create </b> : to create a scene to draw.
|
||||
*
|
||||
* -# <b>/vis/open [vis_engine] </b> : to open the visualisation engine vis_engine (recommended OGLIX for x-window or DAWNFILE for *.eps file and DANW *.prim file output).
|
||||
*
|
||||
* -# <b>/vis/sceneHandler/attach </b> : to link the scene the the engine.
|
||||
*
|
||||
* -# <b>/vis/viewer/flush </b> : to draw the geometry.
|
||||
*.
|
||||
* The visualization angles and camera position can be set in many different ways. The command should be accessed entering <tt<help</tt> in the terminal. Among those commands one would find:
|
||||
*
|
||||
* - <b>/vis/viewer/set/viewpointThetaPhi \f$ \alpha \ \beta \f$ </b> : set camera angle in deg.
|
||||
*
|
||||
* - <b>/vis/viewer/refresh </b> : to redraw the geometry.
|
||||
*
|
||||
* - <b>/vis/drawTree </b> : print out the hierarchical tree of the geometry. If a physical volume name is specified, the tree will be printed from the correspondant volume.
|
||||
*
|
||||
* - <b>/vis/ASCITree/verbose [level]</b> : set verbose level for the <b>/vis/drawTree </b> command. The verbose level goes from 0 to 15.
|
||||
|
||||
|
||||
\section coms_sensidet Sensitive detection control commands
|
||||
*
|
||||
* - <b>/hits/list </b> : get the list of the different sensitive detectors available
|
||||
*
|
||||
* - <b>/hits/activate [sd_name]</b> : activate the sensitive detector sd_name
|
||||
*
|
||||
* - <b>/hits/inactivate [sd_name] </b> : inactivate the sensitive detector sd_name
|
||||
*
|
||||
* - <b>/hits/verbose [level]</b> : set the verbose level.
|
||||
|
||||
\section coms_misc Miscanellous control commands
|
||||
|
||||
*
|
||||
* - <b>/tracking/storeTrajectory 1 </b> : to store the trajectories in order to be able to plot them in the visualisation for example.
|
||||
*
|
||||
* - <b>/process/(in)activate [particle_name]</b> : (in)activate the particle particle_name
|
||||
*
|
||||
* - <b>/particle/(in)activate [process_name]</b> : (in)activate the process process_name.
|
||||
*
|
||||
*.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
In the help directory, one would find some guidance providing the use of the command with the arguments description: what argument to enter, which unit, which format (<b>s</b>tring, <b>d</b>ouble, <b>i</b>nt ...), is the argument ommitable etc.).
|
||||
|
||||
A comprehensive list of all the commands can be found in the annexe @ref annexe_commands.
|
||||
|
||||
*/
|
132
geant4/LEMuSR/doc/commands.dox~
Normal file
@ -0,0 +1,132 @@
|
||||
/*! @page commands Commands
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref
|
||||
<B> Up:</B> @ref
|
||||
<B> Next:</B> @ref
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
We present here the most useful commands to run the simulation. Some additional commands can be accessed entering <b>help</b> in the run terminal or on the <A href="http://geant4.web.cern.ch/geant4/G4UsersDocuments/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_.html">web</A>. We do not put them here because they are not necessary for the \lemu simulation.
|
||||
|
||||
\section coms_config UI control commands
|
||||
* - <b>/control/execute macrofile </b> : execute a macro file. The macro files are edited as a list of commands.
|
||||
*
|
||||
* - <b>/control/verbose </b> : set the verbose level
|
||||
*
|
||||
* - <b>/control/shell </b> : access the shell
|
||||
*
|
||||
* - <b>/help </b> : call interactive help with all the commands.
|
||||
|
||||
|
||||
|
||||
\section coms_run Run control commands
|
||||
* - <b>/run/beamOn #n</b> : simulate n particles
|
||||
*
|
||||
* - <b>/run/verbose </b> : set the verbose level
|
||||
|
||||
|
||||
\section coms_det Geometry control commands
|
||||
\subsection com_Mode Detector Mode
|
||||
* - <b>/Detector/Mode [cryo/mcp] </b> :
|
||||
*
|
||||
* - <b>/Detector/CfoilThickness [\f$ \mu g / cm^{2}\f$] </b> : set the thickness of the carbon foil
|
||||
*
|
||||
* - <b>/Detector/MaxStepInField [\f$ mm \f$]</b> : set a cut on the maximal step size in the regions with field.
|
||||
*
|
||||
\subsection com_sample Sample Specifications
|
||||
* - <b>/Detector/Sample/Grid [on/off]</b> : <b>NB!</b> the command is not working because no field map was generated for this case.
|
||||
*
|
||||
* - <b>/Detector/Sample/Guards [on/off]</b> : enable or disable the guard rings in sample cryostat
|
||||
*
|
||||
* - <b>/Detector/Sample/HolderMaterial [material]</b> : to change the material of the sample holder plate.
|
||||
*
|
||||
\subsection com_volt Electric Fields and Voltage Settings
|
||||
* - <b>/Detector/ElectricField [on/off]</b> : enables fiels at trigger detector or disables all electric fields.
|
||||
*
|
||||
In order to set the electric field for the third lense and the conical anode one should enter a voltage value. The fields maps were generated for 1 kV. During the initialization they are scaled according to the entered voltage.
|
||||
* - <b>/Detector/Voltage/ThirdLens [Third Lens Voltage kV]</b> : Third lens voltage in kilovolt
|
||||
*
|
||||
* - <b>/Detector/Voltage/ConicalAnode [RA-Left Voltage [kV]] [RA-Right Voltage [kV]] [Build]</b> : Ring anode voltage in kilovolt. The built variable is 1 or 0 and specifies if the detector is rebuilt after the values are changed or later.
|
||||
*
|
||||
* - <b>/Detector/Voltage/Cryo [kV]</b> : Sample voltage in kilovolt
|
||||
*
|
||||
\subsection com_mag Magnetic Field
|
||||
* - <b>/Detector/MagneticField [Gauss] </b> : set the value of the magnetic field
|
||||
*
|
||||
\subsection com_vis Visualization Mode
|
||||
* - <b>/Detector/View [total/half/quarter]</b> : build the detector with half cut or quarter cut. <i>The detector must be built in total view to run the simulation.</i>
|
||||
|
||||
|
||||
|
||||
|
||||
\section coms_pga Particle gun control commands
|
||||
* - <b>/lemuGun/gunPosition [X [cm]] [Y [cm]] [Z [cm]]</b> : the gun position in centimeters. Note that the origin of the geometry is the mcp detector and the carbon foil is at -113.7cm
|
||||
*
|
||||
* - <b>/lemuGun/MomentumDirection [momX ] [momY ] [momZ ] </b> : a unitary vector for the particles momentum direction.
|
||||
*
|
||||
* - <b>/lemuGun/particle particle </b> : Particle types: mu+/Mu or other.
|
||||
*
|
||||
* - <b>/lemuGun/scan/square [X Y B]</b> : flat distribution of B bins in a rectangle 2X x 2Y. Distances are in centimeters.
|
||||
*
|
||||
* - <b>/lemuGun/scan/circular [R N M] </b> : circular distribution with N steps along the radius R and M steps along the \f$ 2\pi\f$ angle. Radius in cemtimeters.
|
||||
*
|
||||
* - <b>/lemuGun/gauss </b> : gaussian distribution of x and y.
|
||||
*
|
||||
* - <b>/lemuGun/reset </b> : reset the counters for the scan mode.
|
||||
|
||||
|
||||
|
||||
\section coms_vis Visualization control commands
|
||||
To start a visualization driver and draw the geometry one may follow the following four step procedure:
|
||||
*
|
||||
* -# <b>/vis/scene/create </b> : to create a scene to draw.
|
||||
*
|
||||
* -# <b>/vis/open [vis_engine] </b> : to open the visualisation engine vis_engine (recommended OGLIX for x-window or DAWNFILE for *.eps file and DANW *.prim file output).
|
||||
*
|
||||
* -# <b>/vis/sceneHandler/attach </b> : to link the scene the the engine.
|
||||
*
|
||||
* -# <b>/vis/viewer/flush </b> : to draw the geometry.
|
||||
*.
|
||||
* The visualization angles and camera position can be set in many different ways. The command should be accessed entering <tt<help</tt> in the terminal. Among those commands one would find:
|
||||
*
|
||||
* - <b>/vis/viewer/set/viewpointThetaPhi \f$ \alpha \ \beta \f$ </b> : set camera angle in deg.
|
||||
*
|
||||
* - <b>/vis/viewer/refresh </b> : to redraw the geometry.
|
||||
*
|
||||
* - <b>/vis/drawTree </b> : print out the hierarchical tree of the geometry. If a physical volume name is specified, the tree will be printed from the correspondant volume.
|
||||
*
|
||||
* - <b>/vis/ASCITree/verbose [level]</b> : set verbose level for the <b>/vis/drawTree </b> command. The verbose level goes from 0 to 15.
|
||||
|
||||
|
||||
\section coms_sensidet Sensitive detection control commands
|
||||
*
|
||||
* - <b>/hits/list </b> : get the list of the different sensitive detectors available
|
||||
*
|
||||
* - <b>/hits/activate [sd_name]</b> : activate the sensitive detector sd_name
|
||||
*
|
||||
* - <b>/hits/inactivate [sd_name] </b> : inactivate the sensitive detector sd_name
|
||||
*
|
||||
* - <b>/hits/verbose [level]</b> : set the verbose level.
|
||||
|
||||
\section coms_misc Miscanellous control commands
|
||||
|
||||
*
|
||||
* - <b>/tracking/storeTrajectory 1 </b> : to store the trajectories in order to be able to plot them in the visualisation for example.
|
||||
*
|
||||
* - <b>/process/(in)activate [particle_name]</b> : (in)activate the particle particle_name
|
||||
*
|
||||
* - <b>/particle/(in)activate [process_name]</b> : (in)activate the process process_name.
|
||||
*
|
||||
*.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
In the help directory, one would find some guidance providing the use of the command with the arguments description: what argument to enter, which unit, which format (<b>s</b>tring, <b>d</b>ouble, <b>i</b>nt ...), is the argument ommitable etc.).
|
||||
|
||||
A comprehensive list of all the commands can be found in the annexe @ref annexe_commands.
|
||||
|
||||
*/
|
37
geant4/LEMuSR/doc/commands/_.html
Normal file
@ -0,0 +1,37 @@
|
||||
/* @page annexe_commands List of the Commands
|
||||
<html><head><title>Commands in /</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_control_.html">/control/</a>
|
||||
<p><dd>UI control commands.
|
||||
<p><br><p><dt><a href="_units_.html">/units/</a>
|
||||
<p><dd>Available units.
|
||||
<p><br><p><dt><a href="_geometry_.html">/geometry/</a>
|
||||
<p><dd>Geometry control commands.
|
||||
<p><br><p><dt><a href="_tracking_.html">/tracking/</a>
|
||||
<p><dd>TrackingManager and SteppingManager control commands.
|
||||
<p><br><p><dt><a href="_event_.html">/event/</a>
|
||||
<p><dd>EventManager control commands.
|
||||
<p><br><p><dt><a href="_run_.html">/run/</a>
|
||||
<p><dd>Run control commands.
|
||||
<p><br><p><dt><a href="_random_.html">/random/</a>
|
||||
<p><dd>Random number status control commands.
|
||||
<p><br><p><dt><a href="_particle_.html">/particle/</a>
|
||||
<p><dd>Particle control commands.
|
||||
<p><br><p><dt><a href="_process_.html">/process/</a>
|
||||
<p><dd>Process Table control commands.
|
||||
<p><br><p><dt><a href="_Detector_.html">/Detector/</a>
|
||||
<p><dd>Set detector parameters
|
||||
<p><br><p><dt><a href="_lemuGun_.html">/lemuGun/</a>
|
||||
<p><dd>LEMuSR particle shooting control commands.
|
||||
<p><br><p><dt><a href="_gun_.html">/gun/</a>
|
||||
<p><dd>Particle Gun control commands.
|
||||
<p><br><p><dt><a href="_vis_.html">/vis/</a>
|
||||
<p><dd>Visualization commands.
|
||||
<p><br><p><dt><a href="_hits_.html">/hits/</a>
|
||||
<p><dd>Sensitive detectors and Hits
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
</dl></body></html>
|
||||
*/
|
87
geant4/LEMuSR/doc/commands/_Detector_.html
Normal file
@ -0,0 +1,87 @@
|
||||
<html><head><title>Commands in /Detector/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/Detector/</h2><p>
|
||||
Set detector parameters<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_Detector_Sample_.html">/Detector/Sample/</a>
|
||||
<p><dd>...Title not available...
|
||||
<p><br><p><dt><a href="_Detector_Voltage_.html">/Detector/Voltage/</a>
|
||||
<p><dd>...Title not available...
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>Mode [<i>mode</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
mcp: multiple channel mode
|
||||
cryo: cryostat mode <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>mode
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>ElectricField [<i>field</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
on: electric field on
|
||||
off: electric field off <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>field
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>AsymCheck [<i>asym</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
on: asym on
|
||||
off:asym off <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>asym
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>MagneticField [<i>f</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Magnetic Field Max Value >>> in GAUSS <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>f
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>View [<i>view</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
quarter: quarter cut view of the detector
|
||||
half: half cut view of the detector
|
||||
total: view of the total detector <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>view
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>MaxStepInField [<i>usl</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
The user step limitation in third lense and conical anode [mm] <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>usl
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>CfoilThickness [<i>f</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Carbon foil thickness; unit is mug/cm2 <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>f
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
39
geant4/LEMuSR/doc/commands/_Detector_Sample_.html
Normal file
@ -0,0 +1,39 @@
|
||||
<html><head><title>Commands in /Detector/Sample/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/Detector/Sample/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>Grid [<i>grid</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
on: Sample Grid on
|
||||
off: Sample Grid off <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>grid
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>Guards [<i>guards</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
on: Sample Guards Rings on
|
||||
off: Sample Guards off <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>guards
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>HolderMaterial [<i>material</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Sample material<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>material
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
42
geant4/LEMuSR/doc/commands/_Detector_Voltage_.html
Normal file
@ -0,0 +1,42 @@
|
||||
<html><head><title>Commands in /Detector/Voltage/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/Detector/Voltage/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>ThirdLense [<i>f</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Third Lense Middle Cylinder Voltage Value >> IN KILOVOLT <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>f
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>ConicalAnode [<i>RA-Left Voltage [kV]</i>] [<i>RA-Right Voltage [kV]</i>] [<i>Build</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Conical anode left and right side Voltage Values >> IN KILOVOLT; set build to !=0 to build the detector <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>RA-Left Voltage [kV]
|
||||
<td>type d
|
||||
<td><td><tr><td>RA-Right Voltage [kV]
|
||||
<td>type d
|
||||
<td><td><tr><td>Build
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>Cryo [<i>Voltage [kV]</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Cryo voltage in kV <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Voltage [kV]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
</dl></body></html>
|
155
geant4/LEMuSR/doc/commands/_control_.html
Normal file
@ -0,0 +1,155 @@
|
||||
<html><head><title>Commands in /control/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/control/</h2><p>
|
||||
UI control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>execute [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Execute a macro file.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>loop [<i>macroFile</i>] [<i>counterName</i>] [<i>initialValue</i>] [<i>finalValue</i>] [<i>stepSize</i>]</b>
|
||||
<p><dd>
|
||||
Execute a macro file more than once.<br>
|
||||
Loop counter can be used as an aliased variable.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>macroFile
|
||||
<td>type s
|
||||
<td><td><tr><td>counterName
|
||||
<td>type s
|
||||
<td><td><tr><td>initialValue
|
||||
<td>type d
|
||||
<td><td><tr><td>finalValue
|
||||
<td>type d
|
||||
<td><td><tr><td>stepSize
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>foreach [<i>macroFile</i>] [<i>counterName</i>] [<i>valueList</i>]</b>
|
||||
<p><dd>
|
||||
Execute a macro file more than once.<br>
|
||||
Loop counter can be used as an aliased variable.<br>
|
||||
Values must be separated by a space.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>macroFile
|
||||
<td>type s
|
||||
<td><td><tr><td>counterName
|
||||
<td>type s
|
||||
<td><td><tr><td>valueList
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>suppressAbortion [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Suppress the program abortion caused by G4Exception.<br>
|
||||
Suppression level = 0 : no suppression<br>
|
||||
= 1 : suppress during EventProc state<br>
|
||||
= 2 : full suppression, i.e. no abortion by G4Exception<br>
|
||||
When abortion is suppressed, you will get error messages issued by G4Exception,<br>
|
||||
and there is NO guarantee for the correct result after the G4Exception error message.<br>
|
||||
<p><dd>Range : level >= 0 && level <= 2
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>verbose [<i>switch</i>]</b>
|
||||
<p><dd>
|
||||
Applied command will also be shown on screen.<br>
|
||||
This command is useful with MACRO file.<br>
|
||||
0 : silent<br>
|
||||
1 : only the valid commands are shown.<br>
|
||||
2 : comment lines are also shown (default).<br>
|
||||
<p><dd>Range : switch >= 0 && switch <=2
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>switch
|
||||
<td>type i
|
||||
<td>Omittable : default value = 2
|
||||
<td></table>
|
||||
<p><br><p><dt><b>saveHistory [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Store command history to a file.<br>
|
||||
Defaul file name is G4history.macro.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = G4History.macro
|
||||
<td></table>
|
||||
<p><br><p><dt><b>stopSavingHistory</b>
|
||||
<p><dd>
|
||||
Stop saving history file.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>alias [<i>aliasName</i>] [<i>aliasValue</i>]</b>
|
||||
<p><dd>
|
||||
Set an alias.<br>
|
||||
String can be aliased by this command.<br>
|
||||
The string may contain one or more spaces,<br>
|
||||
the string must be enclosed by double quotes (").<br>
|
||||
To use an alias, enclose the alias name with<br>
|
||||
parenthis "{" and "}".<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>aliasName
|
||||
<td>type s
|
||||
<td><td><tr><td>aliasValue
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>unalias [<i>aliasName</i>]</b>
|
||||
<p><dd>
|
||||
Remove an alias.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>aliasName
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>listAlias</b>
|
||||
<p><dd>
|
||||
List aliases.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>shell [<i></i>]</b>
|
||||
<p><dd>
|
||||
Execute a (Unix) SHELL command.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>manual [<i>dirPath</i>]</b>
|
||||
<p><dd>
|
||||
Display all of sub-directories and commands.<br>
|
||||
Directory path should be given by FULL-PATH.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>dirPath
|
||||
<td>type s
|
||||
<td>Omittable : default value = /
|
||||
<td></table>
|
||||
<p><br><p><dt><b>createHTML [<i>dirPath</i>]</b>
|
||||
<p><dd>
|
||||
Generate HTML files for all of sub-directories and commands.<br>
|
||||
Directory path should be given by FULL-PATH.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>dirPath
|
||||
<td>type s
|
||||
<td>Omittable : default value = /
|
||||
<td></table>
|
||||
<p><br><p><dt><b>maximumStoredHistory [<i>max</i>]</b>
|
||||
<p><dd>
|
||||
Set maximum number of stored UI commands.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>max
|
||||
<td>type i
|
||||
<td>Omittable : default value = 20
|
||||
<td></table>
|
||||
</dl></body></html>
|
26
geant4/LEMuSR/doc/commands/_event_.html
Normal file
@ -0,0 +1,26 @@
|
||||
<html><head><title>Commands in /event/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/event/</h2><p>
|
||||
EventManager control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_event_stack_.html">/event/stack/</a>
|
||||
<p><dd>Stack control commands.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>abort</b>
|
||||
<p><dd>
|
||||
Abort current event.<br>
|
||||
<p><dd>Available Geant4 state(s) : EventProc
|
||||
<p><br><p><dt><b>verbose [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Set Verbose level of event management category.<br>
|
||||
0 : Silent<br>
|
||||
1 : Stacking information<br>
|
||||
2 : More...<br>
|
||||
<p><dd>Range : level>=0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
28
geant4/LEMuSR/doc/commands/_event_stack_.html
Normal file
@ -0,0 +1,28 @@
|
||||
<html><head><title>Commands in /event/stack/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/event/stack/</h2><p>
|
||||
Stack control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>status</b>
|
||||
<p><dd>
|
||||
List current status of the stack.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>clear [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Clear stacked tracks.<br>
|
||||
2 : clear all tracks in all stacks<br>
|
||||
1 : clear tracks in the urgent and waiting stacks<br>
|
||||
0 : clear tracks in the waiting stack (default)<br>
|
||||
-1 : clear tracks in the urgent stack<br>
|
||||
-2 : clear tracks in the postponed stack<br>
|
||||
<p><dd>Range : level>=-2&&level<=2
|
||||
<p><dd>Available Geant4 state(s) : GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
12
geant4/LEMuSR/doc/commands/_geometry_.html
Normal file
@ -0,0 +1,12 @@
|
||||
<html><head><title>Commands in /geometry/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/geometry/</h2><p>
|
||||
Geometry control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_geometry_navigator_.html">/geometry/navigator/</a>
|
||||
<p><dd>Geometry navigator control setup.
|
||||
<p><br><p><dt><a href="_geometry_test_.html">/geometry/test/</a>
|
||||
<p><dd>Geometry verification control setup.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
</dl></body></html>
|
46
geant4/LEMuSR/doc/commands/_geometry_navigator_.html
Normal file
@ -0,0 +1,46 @@
|
||||
<html><head><title>Commands in /geometry/navigator/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/geometry/navigator/</h2><p>
|
||||
Geometry navigator control setup.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>reset</b>
|
||||
<p><dd>
|
||||
Reset navigator and navigation history.<br>
|
||||
NOTE: must be called only after kernel has been<br>
|
||||
initialized once through the run manager!<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><br><p><dt><b>verbose [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Set run-time verbosity for the navigator.<br>
|
||||
0 : Silent (default)<br>
|
||||
1 : Display volume positioning and step lengths<br>
|
||||
2 : Display step/safety info on point location<br>
|
||||
3 : Display minimal state at -every- step<br>
|
||||
4 : Maximum verbosity (very detailed!)<br>
|
||||
NOTE: this command has effect -only- if Geant4 has<br>
|
||||
been installed with the G4VERBOSE flag set!<br>
|
||||
<p><dd>Range : level >=0 && level <=4
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>check_mode [<i>checkFlag</i>]</b>
|
||||
<p><dd>
|
||||
Set navigator in -check_mode- state.<br>
|
||||
This will cause extra checks to be applied during<br>
|
||||
navigation. More strict and less tolerant conditions<br>
|
||||
are applied. A run-time performance penalty may be<br>
|
||||
observed when the -check_mode- state is activated.<br>
|
||||
NOTE: this command has effect -only- if Geant4 has<br>
|
||||
been installed with the G4VERBOSE flag set!<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>checkFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
208
geant4/LEMuSR/doc/commands/_geometry_test_.html
Normal file
@ -0,0 +1,208 @@
|
||||
<html><head><title>Commands in /geometry/test/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/geometry/test/</h2><p>
|
||||
Geometry verification control setup.<br>
|
||||
Helps in detecting possible overlapping regions.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>tolerance [<i>Tolerance</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set error tolerance value.<br>
|
||||
Initial default value: 1E-4*mm.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Tolerance
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = mm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>position [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set starting position for the line_test.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Y
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Z
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = cm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>direction [<i>Px</i>] [<i>Py</i>] [<i>Pz</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set momentum direction for the line_test.<br>
|
||||
Direction needs not to be a unit vector.<br>
|
||||
<p><dd>Range : Px != 0 || Py != 0 || Pz != 0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Px
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Py
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Pz
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>line_test [<i>recursionFlag</i>]</b>
|
||||
<p><dd>
|
||||
Performs test along a single specified direction/position.<br>
|
||||
Use position and direction commands to change default.<br>
|
||||
Initial default: position(0,0,0), direction(0,0,1).<br>
|
||||
If recursion flag is set to TRUE, the intersection checks<br>
|
||||
will be performed recursively in the geometry tree.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>recursionFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>grid_cells [<i>X</i>] [<i>Y</i>] [<i>Z</i>]</b>
|
||||
<p><dd>
|
||||
Define resolution of grid geometry as number of cells,<br>
|
||||
specifying them for each dimension, X, Y and Z.<br>
|
||||
Will be applied to grid_test and recursive_test commands.<br>
|
||||
Initial default values: X=100, Y=100, Z=100.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Y
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Z
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>grid_test [<i>recursionFlag</i>]</b>
|
||||
<p><dd>
|
||||
Start running the default grid test.<br>
|
||||
A grid of lines parallel to a cartesian axis is used;<br>
|
||||
By default, only direct daughters of the mother volumes are checked.<br>
|
||||
If recursion flag is set to TRUE, the intersection checks<br>
|
||||
will be performed recursively in the geometry tree.<br>
|
||||
NOTE: the recursion may take a very long time,<br>
|
||||
depending on the geometry complexity !<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>recursionFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>cylinder_geometry [<i>nPhi</i>] [<i>nZ</i>] [<i>nRho</i>]</b>
|
||||
<p><dd>
|
||||
Define details of the cylinder geometry, specifying:<br>
|
||||
nPhi - number of lines per Phi<br>
|
||||
nZ - number of Z points<br>
|
||||
nRho - number of Rho points<br>
|
||||
Will be applied to the cylinder_test command.<br>
|
||||
Initial default values: nPhi=90, nZ=50, nRho=50.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>nPhi
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>nZ
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>nRho
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>cylinder_scaleZ [<i>fracZ</i>]</b>
|
||||
<p><dd>
|
||||
Define the resolution of the cylinder geometry, specifying<br>
|
||||
the fraction scale for points along Z.<br>
|
||||
Initial default values: fracZ=0.8<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fracZ
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.8
|
||||
<td></table>
|
||||
<p><br><p><dt><b>cylinder_scaleRho [<i>fracRho</i>]</b>
|
||||
<p><dd>
|
||||
Define the resolution of the cylinder geometry, specifying<br>
|
||||
the fraction scale for points along Rho.<br>
|
||||
Initial default values: fracRho=0.8<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fracRho
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.8
|
||||
<td></table>
|
||||
<p><br><p><dt><b>cylinder_test [<i>recursionFlag</i>]</b>
|
||||
<p><dd>
|
||||
Start running the cylinder test.<br>
|
||||
A set of lines in a cylindrical pattern of gradually<br>
|
||||
increasing mesh size.<br>
|
||||
By default, only direct daughters of the mother volumes are checked.<br>
|
||||
If recursion flag is set to TRUE, the intersection checks<br>
|
||||
will be performed recursively in the geometry tree.<br>
|
||||
NOTE: the recursion may take a very long time,<br>
|
||||
depending on the geometry complexity !<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>recursionFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>recursion_start [<i>initial_level</i>]</b>
|
||||
<p><dd>
|
||||
Set the initial level in the geometry tree for recursion.<br>
|
||||
recursive_test will then start from the specified level.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>initial_level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>recursion_depth [<i>recursion_depth</i>]</b>
|
||||
<p><dd>
|
||||
Set the depth in the geometry tree for recursion.<br>
|
||||
recursive_test will then stop after reached the specified depth.<br>
|
||||
By default, recursion will proceed for the whole depth.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>recursion_depth
|
||||
<td>type i
|
||||
<td>Omittable : default value = -1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>run [<i>recursionFlag</i>]</b>
|
||||
<p><dd>
|
||||
Start running the default grid test.<br>
|
||||
Same as the grid_test command.<br>
|
||||
If recursion flag is set to TRUE, the intersection checks<br>
|
||||
will be performed recursively in the geometry tree.<br>
|
||||
NOTE: the recursion may take a very long time,<br>
|
||||
depending on the geometry complexity !<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>recursionFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>recursive_test</b>
|
||||
<p><dd>
|
||||
Start running the recursive grid test.<br>
|
||||
A grid of lines along a cartesian axis is recursively<br>
|
||||
to all daughters and daughters of daughters, etc.<br>
|
||||
NOTE: it may take a very long time,<br>
|
||||
depending on the geometry complexity !<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
</dl></body></html>
|
134
geant4/LEMuSR/doc/commands/_gun_.html
Normal file
38
geant4/LEMuSR/doc/commands/_hits_.html
Normal file
@ -0,0 +1,38 @@
|
||||
<html><head><title>Commands in /hits/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/hits/</h2><p>
|
||||
Sensitive detectors and Hits<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>list</b>
|
||||
<p><dd>
|
||||
List sensitive detector tree.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>activate [<i>detector</i>]</b>
|
||||
<p><dd>
|
||||
Activate sensitive detector(s).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>detector
|
||||
<td>type s
|
||||
<td>Omittable : default value = /
|
||||
<td></table>
|
||||
<p><br><p><dt><b>inactivate [<i>detector</i>]</b>
|
||||
<p><dd>
|
||||
Inactivate sensitive detector(s).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>detector
|
||||
<td>type s
|
||||
<td>Omittable : default value = /
|
||||
<td></table>
|
||||
<p><br><p><dt><b>verbose [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Set the Verbose level.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
51
geant4/LEMuSR/doc/commands/_lemuGun_.html
Normal file
@ -0,0 +1,51 @@
|
||||
<html><head><title>Commands in /lemuGun/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/lemuGun/</h2><p>
|
||||
LEMuSR particle shooting control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_lemuGun_scan_.html">/lemuGun/scan/</a>
|
||||
<p><dd>...Title not available...
|
||||
<p><br><p><dt><a href="_lemuGun_energy_.html">/lemuGun/energy/</a>
|
||||
<p><dd>...Title not available...
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>gunPosition [<i>X [cm]</i>] [<i>Y [cm]</i>] [<i>Z [cm]</i>]</b>
|
||||
<p><dd>
|
||||
Set Gun Position >> IN CENTIMETERS.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Y [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Z [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>MomentumDirection [<i>momX </i>] [<i>momY </i>] [<i>momZ </i>]</b>
|
||||
<p><dd>
|
||||
Set momentum direction >> sum must equal one.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>momX
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>momY
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>momZ
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>particle [<i>Particle types: mu+/Mu or other.</i>]</b>
|
||||
<p><dd>
|
||||
Particles to be shot<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Particle types: mu+/Mu or other.
|
||||
<td>type s
|
||||
<td>Omittable : default value = mu+
|
||||
<td></table>
|
||||
</dl></body></html>
|
54
geant4/LEMuSR/doc/commands/_lemuGun_energy_.html
Normal file
@ -0,0 +1,54 @@
|
||||
<html><head><title>Commands in /lemuGun/energy/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/lemuGun/energy/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>defined [<i>Energy in [keV]</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Energy Value >> IN keV
|
||||
<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Energy in [keV]
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>offset [<i>KEoffset in [keV]; default value 3.73</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
KEoffset Value >> IN keV
|
||||
<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>KEoffset in [keV]; default value 3.73
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>random [<i>Random Energy: on/off</i>]</b>
|
||||
<p><dd>
|
||||
Gaussian energy distribution with default mean 20 kev and 0.5 kev deviation<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Random Energy: on/off
|
||||
<td>type s
|
||||
<td>Omittable : default value = on
|
||||
<td></table>
|
||||
<p><br><p><dt><b>gauss [<i>Mean Energy</i>] [<i>Standard Deviation</i>] [<i></i>]</b>
|
||||
<p><dd>
|
||||
Gaussian energy distribution with specified mean and standard deviation
|
||||
ENTER VALUES >> IN keV <br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Mean Energy
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Standard Deviation
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
</dl></body></html>
|
61
geant4/LEMuSR/doc/commands/_lemuGun_scan_.html
Normal file
@ -0,0 +1,61 @@
|
||||
<html><head><title>Commands in /lemuGun/scan/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/lemuGun/scan/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>square [<i>X range [cm]</i>] [<i>Y range [cm]</i>] [<i>Number of bins</i>]</b>
|
||||
<p><dd>
|
||||
Gun scan: xrange yrange nbins
|
||||
Shoot right number of particles to fill.
|
||||
xrange and yrange are divided in nbins.
|
||||
<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X range [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Y range [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Number of bins
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>circular [<i>Radius [cm]</i>] [<i>Number of step along radius</i>] [<i>Number of steps along angle</i>]</b>
|
||||
<p><dd>
|
||||
Gun scan: radius Rsteps ThetaSteps
|
||||
Shoot Rsteps*Thetasteps particles to fill.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Radius [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Number of step along radius
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Number of steps along angle
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>gauss [<i>Radius [cm]</i>] [<i>Number of step along radius</i>] [<i>Number of steps along angle</i>]</b>
|
||||
<p><dd>
|
||||
Gun gauss scan:.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Radius [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Number of step along radius
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Number of steps along angle
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>reset</b>
|
||||
<p><dd>
|
||||
|
||||
Reset the counters for scanning<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
</dl></body></html>
|
39
geant4/LEMuSR/doc/commands/_particle_.html
Normal file
@ -0,0 +1,39 @@
|
||||
<html><head><title>Commands in /particle/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/particle/</h2><p>
|
||||
Particle control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_particle_property_.html">/particle/property/</a>
|
||||
<p><dd>Paricle Table control commands.
|
||||
<p><br><p><dt><a href="_particle_process_.html">/particle/process/</a>
|
||||
<p><dd>Process Manager control commands.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>select [<i>particle name</i>]</b>
|
||||
<p><dd>
|
||||
Select particle <br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particle name
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>list [<i>particle type</i>]</b>
|
||||
<p><dd>
|
||||
List name of particles.<br>
|
||||
all(default)/lepton/baryon/meson/nucleus/quarks<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particle type
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td>Parameter candidates : all lepton baryon meson nucleus quarks
|
||||
</table>
|
||||
<p><br><p><dt><b>find [<i>encoding</i>]</b>
|
||||
<p><dd>
|
||||
Find particle by encoding<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>encoding
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
61
geant4/LEMuSR/doc/commands/_particle_process_.html
Normal file
@ -0,0 +1,61 @@
|
||||
<html><head><title>Commands in /particle/process/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/particle/process/</h2><p>
|
||||
Process Manager control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>dump [<i>index</i>]</b>
|
||||
<p><dd>
|
||||
dump process manager or process information<br>
|
||||
dump [process index]<br>
|
||||
process index: -1 for process manager<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>index
|
||||
<td>type i
|
||||
<td>Omittable : default value = -1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>verbose [<i>Verbose</i>] [<i>index</i>]</b>
|
||||
<p><dd>
|
||||
Set Verbose Level for Process or Process Manager<br>
|
||||
Verbose [Verbose] [process index]<br>
|
||||
process index: -1 for process manager<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Init
|
||||
Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Verbose
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>index
|
||||
<td>type i
|
||||
<td>Omittable : default value = -1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>activate [<i>index</i>]</b>
|
||||
<p><dd>
|
||||
Activate process <br>
|
||||
Activate [process index]<br>
|
||||
<p><dd>Range : index >=0
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>index
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>inactivate [<i>index</i>]</b>
|
||||
<p><dd>
|
||||
Inactivate process <br>
|
||||
inactivate [process index]<br>
|
||||
<p><dd>Range : index >=0
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>index
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
55
geant4/LEMuSR/doc/commands/_particle_property_.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html><head><title>Commands in /particle/property/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/particle/property/</h2><p>
|
||||
Paricle Table control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_particle_property_decay_.html">/particle/property/decay/</a>
|
||||
<p><dd>Decay Table control commands.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>dump</b>
|
||||
<p><dd>
|
||||
dump particle properties.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>stable [<i>stable</i>]</b>
|
||||
<p><dd>
|
||||
Set stable flag.<br>
|
||||
false: Unstable true: Stable<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>stable
|
||||
<td>type b
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>lifetime [<i>life</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set life time.<br>
|
||||
Unit of the time can be :<br>
|
||||
s, ms, ns (default)<br>
|
||||
<p><dd>Range : life >0.0
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>life
|
||||
<td>type d
|
||||
<td><td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = ns
|
||||
<td>Parameter candidates : s ms mus ns ps second millisecond microsecond nanosecond picosecond
|
||||
</table>
|
||||
<p><br><p><dt><b>verbose [<i>verbose_level</i>]</b>
|
||||
<p><dd>
|
||||
Set Verbose level of particle property.<br>
|
||||
0 : Silent (default)<br>
|
||||
1 : Display warning messages<br>
|
||||
2 : Display more<br>
|
||||
<p><dd>Range : verbose_level >=0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbose_level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
31
geant4/LEMuSR/doc/commands/_particle_property_decay_.html
Normal file
@ -0,0 +1,31 @@
|
||||
<html><head><title>Commands in /particle/property/decay/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/particle/property/decay/</h2><p>
|
||||
Decay Table control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>select [<i>mode</i>]</b>
|
||||
<p><dd>
|
||||
Enter index of decay mode.<br>
|
||||
<p><dd>Range : mode >=0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>mode
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dump</b>
|
||||
<p><dd>
|
||||
Dump decay mode information.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>br [<i>br</i>]</b>
|
||||
<p><dd>
|
||||
Set branching ratio. [0< BR <1.0]<br>
|
||||
<p><dd>Range : (br >=0.0) && (br <=1.0)
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>br
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
106
geant4/LEMuSR/doc/commands/_process_.html
Normal file
@ -0,0 +1,106 @@
|
||||
<html><head><title>Commands in /process/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/process/</h2><p>
|
||||
Process Table control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_process_eLoss_.html">/process/eLoss/</a>
|
||||
<p><dd>Commands for G4VEnergyLoss.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>list [<i>type</i>]</b>
|
||||
<p><dd>
|
||||
List up process names<br>
|
||||
list [type] <br>
|
||||
type: process type [all:for all proceeses]<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>type
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td>Parameter candidates : all NotDefined Transportation Electromagnetic Optical Hadronic Photolepton_hadron Decay General Parameterisation UserDefined
|
||||
</table>
|
||||
<p><br><p><dt><b>verbose [<i>verbose</i>]</b>
|
||||
<p><dd>
|
||||
Set Verbose Level for Process Table<br>
|
||||
verbose [level]<br>
|
||||
level: verbose level<br>
|
||||
<p><dd>Range : verbose >=0
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Init
|
||||
Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbose
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>setVerbose [<i>verbose</i>] [<i>type</i>]</b>
|
||||
<p><dd>
|
||||
Set verbose level for processes<br>
|
||||
setVerbose level [type or name] <br>
|
||||
level: verbose level <br>
|
||||
name : process name <br>
|
||||
type : process type <br>
|
||||
[all] for all proceeses <br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbose
|
||||
<td>type i
|
||||
<td><td><tr><td>type
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dump [<i>procName</i>] [<i>particle</i>]</b>
|
||||
<p><dd>
|
||||
Dump process information<br>
|
||||
dump name [particle]<br>
|
||||
name: process name or type name<br>
|
||||
particle: particle name [all: for all particles]<br>
|
||||
<p><dd>Available Geant4 state(s) : Init
|
||||
Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>procName
|
||||
<td>type s
|
||||
<td><td><tr><td>particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
<p><br><p><dt><b>activate [<i>procName</i>] [<i>particle</i>]</b>
|
||||
<p><dd>
|
||||
Activate processes <br>
|
||||
Activate name [particle]<br>
|
||||
name: process name or type name<br>
|
||||
particle: particle name [all: for all particles]<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>procName
|
||||
<td>type s
|
||||
<td><td><tr><td>particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
<p><br><p><dt><b>inactivate [<i>procName</i>] [<i>particle</i>]</b>
|
||||
<p><dd>
|
||||
Inactivate process <br>
|
||||
Inactivate processes <br>
|
||||
Inactivate name [particle]<br>
|
||||
name: process name or type name<br>
|
||||
particle: particle name [all: for all particles]<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>procName
|
||||
<td>type s
|
||||
<td><td><tr><td>particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
</dl></body></html>
|
125
geant4/LEMuSR/doc/commands/_process_eLoss_.html
Normal file
@ -0,0 +1,125 @@
|
||||
<html><head><title>Commands in /process/eLoss/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/process/eLoss/</h2><p>
|
||||
Commands for G4VEnergyLoss.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>rndmStep [<i>choice</i>]</b>
|
||||
<p><dd>
|
||||
Randomize the proposed step by eLoss.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>choice
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>fluct [<i>choice</i>]</b>
|
||||
<p><dd>
|
||||
Switch true/false the energy loss fluctuations.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>choice
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>subsec [<i>choice</i>]</b>
|
||||
<p><dd>
|
||||
Switch true/false the subcutoff generation.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>choice
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>minsubsec [<i>rcmin</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set the min. cut for subcutoff delta in range.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>rcmin
|
||||
<td>type d
|
||||
<td>Omittable : default value =
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>StepFunction [<i>dRoverR</i>] [<i>finalRange</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Set the energy loss step limitation parameters.<br>
|
||||
dRoverR : max Range variation per step<br>
|
||||
finalRange: range for final step<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>dRoverR
|
||||
<td>type d
|
||||
<td><td>Parameter range : dRoverR>0. && dRoverR<=1.
|
||||
<tr><td>finalRange
|
||||
<td>type d
|
||||
<td><td>Parameter range : finalRange>0.
|
||||
<tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = mm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>minKinEnergy [<i>emin</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set the min kinetic energy<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>emin
|
||||
<td>type d
|
||||
<td>Omittable : default value =
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td><td>Parameter candidates : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
|
||||
</table>
|
||||
<p><br><p><dt><b>maxKinEnergy [<i>emax</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set the max kinetic energy<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>emax
|
||||
<td>type d
|
||||
<td>Omittable : default value =
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td><td>Parameter candidates : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
|
||||
</table>
|
||||
<p><br><p><dt><b>integral [<i>integ</i>]</b>
|
||||
<p><dd>
|
||||
Switch true/false the integration of cross section over step.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>integ
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>preciseRange [<i>range</i>]</b>
|
||||
<p><dd>
|
||||
Switch true/false the precise range calculation.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>range
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>verbose [<i>verb</i>]</b>
|
||||
<p><dd>
|
||||
Set verbose level for EM physics.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verb
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
</dl></body></html>
|
54
geant4/LEMuSR/doc/commands/_random_.html
Normal file
@ -0,0 +1,54 @@
|
||||
<html><head><title>Commands in /random/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/random/</h2><p>
|
||||
Random number status control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>setDirectoryName [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Define the directory name of the rndm status files.<br>
|
||||
Directory must be creates before storing the files.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = ./
|
||||
<td></table>
|
||||
<p><br><p><dt><b>setSavingFlag [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
The randomNumberStatus will be saved at :<br>
|
||||
begining of run (currentRun.rndm) and begining of event (currentEvent.rndm) <br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>saveThisRun</b>
|
||||
<p><dd>
|
||||
copy currentRun.rndm to runXXX.rndm<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><br><p><dt><b>saveThisEvent</b>
|
||||
<p><dd>
|
||||
copy currentEvent.rndm to runXXXevtYYY.rndm<br>
|
||||
<p><dd>Available Geant4 state(s) : EventProc
|
||||
<p><br><p><dt><b>resetEngineFrom [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Reset the status of the rndm engine from a file.<br>
|
||||
See CLHEP manual for detail.<br>
|
||||
The engine status must be stored beforehand.<br>
|
||||
Directory of the status file should be set by /random/setDirectoryName.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = currentRun.rndm
|
||||
<td></table>
|
||||
</dl></body></html>
|
206
geant4/LEMuSR/doc/commands/_run_.html
Normal file
@ -0,0 +1,206 @@
|
||||
<html><head><title>Commands in /run/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/run/</h2><p>
|
||||
Run control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_run_particle_.html">/run/particle/</a>
|
||||
<p><dd>Commands for G4VUserPhysicsList.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>initialize</b>
|
||||
<p><dd>
|
||||
Initialize G4 kernel.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><br><p><dt><b>beamOn [<i>numberOfEvent</i>] [<i>macroFile</i>] [<i>nSelect</i>]</b>
|
||||
<p><dd>
|
||||
Start a Run.<br>
|
||||
If G4 kernel is not initialized, it will be initialized.<br>
|
||||
Default number of events to be processed is 1.<br>
|
||||
The second and third arguments can be used for<br>
|
||||
executing a macro file at the end of each event.<br>
|
||||
If the second argument, i.e. name of the macro<br>
|
||||
file, is given but the third argument is not,<br>
|
||||
the macro file will be executed for all of the<br>
|
||||
event.<br>
|
||||
If the third argument (nSelect) is given, the<br>
|
||||
macro file will be executed only for the first<br>
|
||||
nSelect events.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>numberOfEvent
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td>Parameter range : numberOfEvent >= 0
|
||||
<tr><td>macroFile
|
||||
<td>type s
|
||||
<td>Omittable : default value = ***NULL***
|
||||
<td><tr><td>nSelect
|
||||
<td>type i
|
||||
<td>Omittable : default value = -1
|
||||
<td>Parameter range : nSelect>=-1
|
||||
</table>
|
||||
<p><br><p><dt><b>verbose [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Set the Verbose level of G4RunManager.<br>
|
||||
0 : Silent (default)<br>
|
||||
1 : Display main topics<br>
|
||||
2 : Display main topics and run summary<br>
|
||||
<p><dd>Range : level >=0 && level <=2
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dumpRegion [<i>regionName</i>]</b>
|
||||
<p><dd>
|
||||
Dump region information.<br>
|
||||
In case name of a region is not given, all regions will be displayed.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>regionName
|
||||
<td>type s
|
||||
<td>Omittable : default value = **ALL**
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dumpCouples</b>
|
||||
<p><dd>
|
||||
Dump material-cuts-couple information.<br>
|
||||
Note that material-cuts-couple information is updated<br>
|
||||
after BeamOn has started.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><br><p><dt><b>optimizeGeometry [<i>optimizeFlag</i>]</b>
|
||||
<p><dd>
|
||||
Set the optimization flag for geometry.<br>
|
||||
If it is set to TRUE, G4GeometryManager will optimize<br>
|
||||
the geometry definitions.<br>
|
||||
GEANT4 is initialized with this flag as TRUE.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>optimizeFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>breakAtBeginOfEvent [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Set a break point at the begining of every event.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>breakAtEndOfEvent [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Set a break point at the end of every event.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>abort [<i>softAbort</i>]</b>
|
||||
<p><dd>
|
||||
Abort current run processing.<br>
|
||||
If softAbort is false (default), currently processing event will be immediately aborted,<br>
|
||||
while softAbort is true, abortion occurs after processing the current event.<br>
|
||||
<p><dd>Available Geant4 state(s) : GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>softAbort
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>abortCurrentEvent</b>
|
||||
<p><dd>
|
||||
Abort currently processing event.<br>
|
||||
<p><dd>Available Geant4 state(s) : EventProc
|
||||
<p><br><p><dt><b>geometryModified</b>
|
||||
<p><dd>
|
||||
Force geometry to be closed again.<br>
|
||||
This command must be applied<br>
|
||||
if geometry has been modified after the<br>
|
||||
first initialization (or BeamOn).<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><br><p><dt><b>physicsModified</b>
|
||||
<p><dd>
|
||||
Force all physics tables recalculated again.<br>
|
||||
This command must be applied<br>
|
||||
if physics process has been modified after the<br>
|
||||
first initialization (or BeamOn).<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><br><p><dt><b>cutoffModified</b>
|
||||
<p><dd>
|
||||
/run/cutoffModified becomes obsolete.<br>
|
||||
It is safe to remove invoking this command.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>randomNumberStatusDirectory [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Define the directory name of the rndm status files.<br>
|
||||
Directory must be creates before storing the files.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = ./
|
||||
<td></table>
|
||||
<p><br><p><dt><b>storeRandomNumberStatus [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
The randomNumberStatus will be saved at :<br>
|
||||
begining of run (currentRun.rndm) and begining of event (currentEvent.rndm) <br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>restoreRandomNumberStatus [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Reset the status of the rndm engine from a file.<br>
|
||||
See CLHEP manual for detail.<br>
|
||||
The engine status must be stored beforehand.<br>
|
||||
Directory of the status file should be set by /random/setDirectoryName.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = currentRun.rndm
|
||||
<td></table>
|
||||
<p><br><p><dt><b>setCut [<i>cut</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set default cut value <br>
|
||||
<p><dd>Range : cut >0.0
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>cut
|
||||
<td>type d
|
||||
<td><td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = mm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>setCutForRegion [<i>Region</i>] [<i>cut</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set cut value for a region<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Region
|
||||
<td>type s
|
||||
<td><td><tr><td>cut
|
||||
<td>type d
|
||||
<td><td>Parameter range : cut >0.0
|
||||
<tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = mm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
</dl></body></html>
|
140
geant4/LEMuSR/doc/commands/_run_particle_.html
Normal file
@ -0,0 +1,140 @@
|
||||
<html><head><title>Commands in /run/particle/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/run/particle/</h2><p>
|
||||
Commands for G4VUserPhysicsList.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>verbose [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Set the Verbose level of G4VUserPhysicsList.<br>
|
||||
0 : Silent (default)<br>
|
||||
1 : Display warning messages<br>
|
||||
2 : Display more<br>
|
||||
<p><dd>Range : level >=0 && level <=3
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>setCut [<i>cut</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set default cut value <br>
|
||||
This command is equivallent to /run/setCut command.<br>
|
||||
This command is kept for backward compatibility.<br>
|
||||
<p><dd>Range : cut >0.0
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>cut
|
||||
<td>type d
|
||||
<td><td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = mm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>dumpList</b>
|
||||
<p><dd>
|
||||
Dump List of particles in G4VUserPhysicsList. <br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>addProcManager [<i>particleType</i>]</b>
|
||||
<p><dd>
|
||||
add process manager to specified particle type<br>
|
||||
<p><dd>Available Geant4 state(s) : Init
|
||||
Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particleType
|
||||
<td>type s
|
||||
<td>Omittable : default value =
|
||||
<td></table>
|
||||
<p><br><p><dt><b>buildPhysicsTable [<i>particleType</i>]</b>
|
||||
<p><dd>
|
||||
build physics table of specified particle type<br>
|
||||
<p><dd>Available Geant4 state(s) : Init
|
||||
Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particleType
|
||||
<td>type s
|
||||
<td>Omittable : default value =
|
||||
<td></table>
|
||||
<p><br><p><dt><b>storePhysicsTable [<i>dirName</i>]</b>
|
||||
<p><dd>
|
||||
Store Physics Table<br>
|
||||
Enter directory name<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>dirName
|
||||
<td>type s
|
||||
<td>Omittable : default value =
|
||||
<td></table>
|
||||
<p><br><p><dt><b>retrievePhysicsTable [<i>dirName</i>]</b>
|
||||
<p><dd>
|
||||
Retrieve Physics Table<br>
|
||||
Enter directory name or OFF to switch off<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>dirName
|
||||
<td>type s
|
||||
<td>Omittable : default value =
|
||||
<td></table>
|
||||
<p><br><p><dt><b>setStoredInAscii [<i>ascii</i>]</b>
|
||||
<p><dd>
|
||||
Switch on/off ascii mode in store/retreive Physics Table<br>
|
||||
Enter 0(binary) or 1(ascii)<br>
|
||||
<p><dd>Range : ascii ==0 || ascii ==1
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>ascii
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>applyCuts [<i>Flag</i>] [<i>Particle</i>]</b>
|
||||
<p><dd>
|
||||
Set applyCuts flag for a particle.<br>
|
||||
Some EM processes which do not have infrared divergence<br>
|
||||
may generate gamma, e- and/or e+ with kinetic energies<br>
|
||||
below the production threshold. By setting this flag,<br>
|
||||
such secondaries below threshold are eliminated and<br>
|
||||
kinetic energies of such secondaries are accumulated<br>
|
||||
to the energy deposition of their mother.<br>
|
||||
Note that 'applyCuts' makes sense only for gamma,<br>
|
||||
e- and e+. If this command is issued for other particle,<br>
|
||||
a warning message is displayed and the command is<br>
|
||||
ignored.<br>
|
||||
If particle name is 'all', this command affects on<br>
|
||||
gamma, e- and e+.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Init
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Flag
|
||||
<td>type s
|
||||
<td>Omittable : default value = true
|
||||
<td><tr><td>Particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dumpCutValues [<i>particle</i>]</b>
|
||||
<p><dd>
|
||||
Dump a list of production threshold values in range and energy<br>
|
||||
for all registered material-cuts-couples.<br>
|
||||
Dumping a list takes place when you issue 'beamOn' and<br>
|
||||
actual conversion tables from range to energy are available.<br>
|
||||
If you want a list 'immediately', use '/run/dumpRegion' for threshold<br>
|
||||
list given in gange only. Also, '/run/dumpCouples' gives you the<br>
|
||||
current list if you have already issued 'run/beamOn' at least once.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
</dl></body></html>
|
47
geant4/LEMuSR/doc/commands/_tracking_.html
Normal file
@ -0,0 +1,47 @@
|
||||
<html><head><title>Commands in /tracking/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/tracking/</h2><p>
|
||||
TrackingManager and SteppingManager control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>abort</b>
|
||||
<p><dd>
|
||||
Abort current G4Track processing.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>resume</b>
|
||||
<p><dd>
|
||||
Resume current G4Track processing.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>storeTrajectory [<i>Store</i>]</b>
|
||||
<p><dd>
|
||||
Store trajectories or not.<br>
|
||||
1 : Store trajectories.<br>
|
||||
0 : Don't Store trajectories.<br>
|
||||
<p><dd>Range : Store >=0 && Store <= 1
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Store
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>verbose [<i>verbose_level</i>]</b>
|
||||
<p><dd>
|
||||
Set Verbose level of tracking category.<br>
|
||||
0 : Silent.<br>
|
||||
1 : Minium information of each Step.<br>
|
||||
2 : Addition to Level=1, info of secondary particles.<br>
|
||||
3 : Addition to Level=1, pre/postStepoint information<br>
|
||||
after all AlongStep/PostStep process executions.<br>
|
||||
4 : Addition to Level=3, pre/postStepoint information<br>
|
||||
at each AlongStepPostStep process execuation.<br>
|
||||
5 : Addition to Level=4, proposed Step length information<br>
|
||||
from each AlongStepPostStep process.<br>
|
||||
<p><dd>Range : verbose_level >=0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbose_level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
12
geant4/LEMuSR/doc/commands/_units_.html
Normal file
@ -0,0 +1,12 @@
|
||||
<html><head><title>Commands in /units/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/units/</h2><p>
|
||||
Available units.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>list</b>
|
||||
<p><dd>
|
||||
full list of available units.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
</dl></body></html>
|
145
geant4/LEMuSR/doc/commands/_vis_.html
Normal file
@ -0,0 +1,145 @@
|
||||
<html><head><title>Commands in /vis/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/</h2><p>
|
||||
Visualization commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_vis_ASCIITree_.html">/vis/ASCIITree/</a>
|
||||
<p><dd>Commands for ASCIITree control.
|
||||
<p><br><p><dt><a href="_vis_GAGTree_.html">/vis/GAGTree/</a>
|
||||
<p><dd>Commands for GAGTree control.
|
||||
<p><br><p><dt><a href="_vis_heprep_.html">/vis/heprep/</a>
|
||||
<p><dd>HepRep commands.
|
||||
<p><br><p><dt><a href="_vis_rayTracer_.html">/vis/rayTracer/</a>
|
||||
<p><dd>RayTracer commands.
|
||||
<p><br><p><dt><a href="_vis_scene_.html">/vis/scene/</a>
|
||||
<p><dd>Operations on Geant4 scenes.
|
||||
<p><br><p><dt><a href="_vis_sceneHandler_.html">/vis/sceneHandler/</a>
|
||||
<p><dd>Operations on Geant4 scene handlers.
|
||||
<p><br><p><dt><a href="_vis_viewer_.html">/vis/viewer/</a>
|
||||
<p><dd>Operations on Geant4 viewers.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>enable [<i>enabled</i>]</b>
|
||||
<p><dd>
|
||||
Enables/disables visualization system.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>enabled
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>disable</b>
|
||||
<p><dd>
|
||||
Disables visualization system.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>verbose [<i>verbosity</i>]</b>
|
||||
<p><dd>
|
||||
Simple graded message scheme - digit or string (1st character defines):<br>
|
||||
0) quiet, // Nothing is printed.<br>
|
||||
1) startup, // Startup and endup messages are printed...<br>
|
||||
2) errors, // ...and errors...<br>
|
||||
3) warnings, // ...and warnings...<br>
|
||||
4) confirmations, // ...and confirming messages...<br>
|
||||
5) parameters, // ...and parameters of scenes and views...<br>
|
||||
6) all // ...and everything available.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbosity
|
||||
<td>type s
|
||||
<td>Omittable : default value = warnings
|
||||
<td></table>
|
||||
<p><br><p><dt><b>drawTree [<i>physical-volume-name</i>] [<i>system</i>]</b>
|
||||
<p><dd>
|
||||
(DTREE) Creates a scene consisting of this physical volume and
|
||||
produces a representation of the geometry hieracrhy.<br>
|
||||
The scene becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>physical-volume-name
|
||||
<td>type s
|
||||
<td>Omittable : default value = world
|
||||
<td><tr><td>system
|
||||
<td>type s
|
||||
<td>Omittable : default value = ATree
|
||||
<td></table>
|
||||
<p><br><p><dt><b>drawView [<i>theta-degrees</i>] [<i>phi-degrees</i>] [<i>pan-right</i>] [<i>pan-up</i>] [<i>pan-unit</i>] [<i>zoom-factor</i>] [<i>dolly</i>] [<i>dolly-unit</i>]</b>
|
||||
<p><dd>
|
||||
Draw view from this angle, etc.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>theta-degrees
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>phi-degrees
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>pan-right
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>pan-up
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>pan-unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = cm
|
||||
<td><tr><td>zoom-factor
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>dolly
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>dolly-unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = cm
|
||||
<td></table>
|
||||
<p><br><p><dt><b>drawVolume [<i>physical-volume-name</i>]</b>
|
||||
<p><dd>
|
||||
Creates a scene consisting of this physical volume and asks the
|
||||
current viewer to draw it.<br>
|
||||
The scene becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>physical-volume-name
|
||||
<td>type s
|
||||
<td>Omittable : default value = world
|
||||
<td></table>
|
||||
<p><br><p><dt><b>open [<i>graphics-system-name</i>] [<i>window-size-hint</i>]</b>
|
||||
<p><dd>
|
||||
Creates a scene handler ready for drawing.<br>
|
||||
The scene handler becomes current (the name is auto-generated).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>graphics-system-name
|
||||
<td>type s
|
||||
<td><td>Parameter candidates : ATree DAWNFILE GAGTree HepRepFile HepRepXML RayTracer VRML1FILE VRML2FILE DAWN OGLIX OGLSX
|
||||
<tr><td>window-size-hint
|
||||
<td>type i
|
||||
<td>Omittable : default value = 600
|
||||
<td></table>
|
||||
<p><br><p><dt><b>specify [<i>logical-volume-name</i>] [<i>depth-of-descent</i>] [<i>booleans-flag</i>] [<i>voxels-flag</i>] [<i>readout-flag</i>]</b>
|
||||
<p><dd>
|
||||
Draws logical volume with Boolean components, voxels and readout geometry.<br>
|
||||
Creates a scene consisting of this logical volume and asks the
|
||||
current viewer to draw it to the specified depth of descent
|
||||
showing boolean components (if any), voxels (if any)
|
||||
and readout geometry (if any), under control of the appropriate flag.<br>
|
||||
Note: voxels are not constructed until start of run - /run/beamOn.<br>
|
||||
The scene becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>logical-volume-name
|
||||
<td>type s
|
||||
<td><td><tr><td>depth-of-descent
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>booleans-flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>voxels-flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>readout-flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
</dl></body></html>
|
35
geant4/LEMuSR/doc/commands/_vis_ASCIITree_.html
Normal file
@ -0,0 +1,35 @@
|
||||
<html><head><title>Commands in /vis/ASCIITree/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/ASCIITree/</h2><p>
|
||||
Commands for ASCIITree control.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_vis_ASCIITree_set_.html">/vis/ASCIITree/set/</a>
|
||||
<p><dd>Settings for ASCIITree control.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>verbose [<i>verbosity</i>]</b>
|
||||
<p><dd>
|
||||
< 10: - does not print daughters of repeated placements, does not repeat replicas.<br>
|
||||
>= 10: prints all physical volumes.<br>
|
||||
The level of detail is given by the units (verbosity%10):<br>
|
||||
>= 0: prints physical volume name.<br>
|
||||
>= 1: prints logical volume name (and names of sensitive detector and readout geometry, if any).<br>
|
||||
>= 2: prints solid name and type.<br>
|
||||
>= 3: prints volume and density.<br>
|
||||
>= 4: prints mass of each top physical volume in scene to depth specified.<br>
|
||||
>= 5: prints mass of branch at each volume (can be time consuming).<br>
|
||||
Note: by default, culling is switched off so all volumes are seen.<br>
|
||||
Note: the mass calculation takes into account daughters, normally to unlimited depth, which can be time consuuming. If you want the mass of a particular subtree to a particular depth:<br>
|
||||
/vis/open ATree<br>
|
||||
/vis/ASCIITree/verbose 14<br>
|
||||
/vis/scene/create<br>
|
||||
/vis/scene/add/volume <subtree-physical-volume> ! <depth><br>
|
||||
/vis/sceneHandler/attach<br>
|
||||
/vis/viewer/flush<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbosity
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
17
geant4/LEMuSR/doc/commands/_vis_ASCIITree_set_.html
Normal file
@ -0,0 +1,17 @@
|
||||
<html><head><title>Commands in /vis/ASCIITree/set/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/ASCIITree/set/</h2><p>
|
||||
Settings for ASCIITree control.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>outFile [<i>out-filename</i>]</b>
|
||||
<p><dd>
|
||||
Set name of output file.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>out-filename
|
||||
<td>type s
|
||||
<td>Omittable : default value = G4cout
|
||||
<td></table>
|
||||
</dl></body></html>
|
18
geant4/LEMuSR/doc/commands/_vis_GAGTree_.html
Normal file
@ -0,0 +1,18 @@
|
||||
<html><head><title>Commands in /vis/GAGTree/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/GAGTree/</h2><p>
|
||||
Commands for GAGTree control.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>verbose [<i>verbosity</i>]</b>
|
||||
<p><dd>
|
||||
/vis/GAGTree/verbose [<verbosity>]<br>
|
||||
0 (default) mimimum - 10 maximum printing.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbosity
|
||||
<td>type i
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
</dl></body></html>
|
41
geant4/LEMuSR/doc/commands/_vis_heprep_.html
Normal file
@ -0,0 +1,41 @@
|
||||
<html><head><title>Commands in /vis/heprep/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/heprep/</h2><p>
|
||||
HepRep commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>setEventNumberSuffix [<i>suffix</i>]</b>
|
||||
<p><dd>
|
||||
Write separate event files, appended with given suffix.<br>
|
||||
Define the suffix with a pattern such as '-0000'.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>suffix
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>appendGeometry [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Appends copy of geometry to every event.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>addPointAttributes [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Adds point attributes to the points of trajectories.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>useSolids [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Use HepRep Solids, rather than Geant4 Primitives.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
169
geant4/LEMuSR/doc/commands/_vis_rayTracer_.html
Normal file
@ -0,0 +1,169 @@
|
||||
<html><head><title>Commands in /vis/rayTracer/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/rayTracer/</h2><p>
|
||||
RayTracer commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>trace [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Start the ray tracing.<br>
|
||||
Define the name of output JPEG file.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = g4RayTracer.jpeg
|
||||
<td></table>
|
||||
<p><br><p><dt><b>column [<i>nPixel</i>]</b>
|
||||
<p><dd>
|
||||
Define the number of horizontal pixels.<br>
|
||||
<p><dd>Range : nPixel > 0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>nPixel
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>row [<i>nPixel</i>]</b>
|
||||
<p><dd>
|
||||
Define the number of virtical pixels.<br>
|
||||
<p><dd>Range : nPixel > 0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>nPixel
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>target [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Define the center position of the target.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Y
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Z
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>eyePosition [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Define the eye position.<br>
|
||||
Eye direction is calsurated from (target - eyePosition).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Y
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Z
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>lightDirection [<i>Px</i>] [<i>Py</i>] [<i>Pz</i>]</b>
|
||||
<p><dd>
|
||||
Define the direction of illumination light.<br>
|
||||
The vector needs not to be a unit vector, but it must not be a zero vector.<br>
|
||||
<p><dd>Range : Px != 0 || Py != 0 || Pz != 0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Px
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.1
|
||||
<td><tr><td>Py
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.2
|
||||
<td><tr><td>Pz
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.3
|
||||
<td></table>
|
||||
<p><br><p><dt><b>span [<i>span</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Define the angle per 100 pixels.<br>
|
||||
<p><dd>Range : span>0.
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>span
|
||||
<td>type d
|
||||
<td>Omittable : default value = 50
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = deg
|
||||
<td>Parameter candidates : rad mrad sr deg radian milliradian steradian degree
|
||||
</table>
|
||||
<p><br><p><dt><b>headAngle [<i>headAngle</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Define the head direction.<br>
|
||||
<p><dd>Range : headAngle>=0. && headAngle<360.
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>headAngle
|
||||
<td>type d
|
||||
<td>Omittable : default value = 270
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = deg
|
||||
<td>Parameter candidates : rad mrad sr deg radian milliradian steradian degree
|
||||
</table>
|
||||
<p><br><p><dt><b>attenuation [<i>Length</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Define the attenuation length for transparent material.<br>
|
||||
Note that this value is independent to the attenuation length for the optical photon processes.<br>
|
||||
<p><dd>Range : Length > 0.
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Length
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>distortion [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Distortion effect of the fish eye lens.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>ignoreTransparency [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Ignore transparency even if the alpha of G4Colour < 1.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>backgroundColour [<i>red</i>] [<i>green</i>] [<i>blue</i>]</b>
|
||||
<p><dd>
|
||||
Set background colour: red green blue: range 0.->1.<br>
|
||||
E.g: /vis/rayTracer/backgroundColour 0 0 0<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>red
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>green
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>blue
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
</dl></body></html>
|
57
geant4/LEMuSR/doc/commands/_vis_sceneHandler_.html
Normal file
@ -0,0 +1,57 @@
|
||||
<html><head><title>Commands in /vis/sceneHandler/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/sceneHandler/</h2><p>
|
||||
Operations on Geant4 scene handlers.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>attach [<i>scene-name</i>]</b>
|
||||
<p><dd>
|
||||
Attaches scene to current scene handler.<br>
|
||||
If scene-name is omitted, current scene is attached. To see scenes and
|
||||
scene handlers, use "/vis/scene/list" and "/vis/sceneHandler/list"<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>scene-name
|
||||
<td>type s
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>create [<i>graphics-system-name</i>] [<i>scene-handler-name</i>]</b>
|
||||
<p><dd>
|
||||
Creates an scene handler for a specific graphics system.<br>
|
||||
Attaches current scene, if any. (You can change attached scenes with
|
||||
"/vis/sceneHandler/attach".) Invents a scene handler name if not
|
||||
supplied. This scene handler becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>graphics-system-name
|
||||
<td>type s
|
||||
<td><td>Parameter candidates : ATree DAWNFILE GAGTree HepRepFile HepRepXML RayTracer VRML1FILE VRML2FILE DAWN OGLIX OGLSX
|
||||
<tr><td>scene-handler-name
|
||||
<td>type s
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>list [<i>scene-handler-name</i>] [<i>verbosity</i>]</b>
|
||||
<p><dd>
|
||||
Lists scene handler(s).<br>
|
||||
"help /vis/verbose" for definition of verbosity.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>scene-handler-name
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td><tr><td>verbosity
|
||||
<td>type s
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>select [<i>scene-handler-name</i>]</b>
|
||||
<p><dd>
|
||||
Selects a scene handler.<br>
|
||||
Makes the scene handler current. "/vis/sceneHandler/list" to see
|
||||
possible scene handler names.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>scene-handler-name
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
95
geant4/LEMuSR/doc/commands/_vis_scene_.html
Normal file
@ -0,0 +1,95 @@
|
||||
<html><head><title>Commands in /vis/scene/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/scene/</h2><p>
|
||||
Operations on Geant4 scenes.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_vis_scene_add_.html">/vis/scene/add/</a>
|
||||
<p><dd>Add model to current scene.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>create [<i>scene-name</i>]</b>
|
||||
<p><dd>
|
||||
Creates an empty scene.<br>
|
||||
Invents a name if not supplied. This scene becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>scene-name
|
||||
<td>type s
|
||||
<td>Omittable : default value =
|
||||
<td></table>
|
||||
<p><br><p><dt><b>endOfEventAction [<i>action</i>]</b>
|
||||
<p><dd>
|
||||
Accumulate or refresh the viewer for each new event.<br>
|
||||
"accumulate": viewer accumulates hits, etc., event by event, or<br>
|
||||
"refresh": viewer shows them at end of event or, for direct-screen
|
||||
viewers, refreshes the screen just before drawing the next event.<br>
|
||||
The detector remains or is redrawn.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>action
|
||||
<td>type s
|
||||
<td>Omittable : default value = refresh
|
||||
<td>Parameter candidates : accumulate refresh
|
||||
</table>
|
||||
<p><br><p><dt><b>endOfRunAction [<i>action</i>]</b>
|
||||
<p><dd>
|
||||
Accumulate or refresh the viewer for each new run.<br>
|
||||
"accumulate": viewer accumulates hits, etc., run by run, or<br>
|
||||
"refresh": viewer shows them at end of run or, for direct-screen
|
||||
viewers, refreshes the screen just before drawing the first
|
||||
event of the next run.<br>
|
||||
The detector remains or is redrawn.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>action
|
||||
<td>type s
|
||||
<td>Omittable : default value = refresh
|
||||
<td>Parameter candidates : accumulate refresh
|
||||
</table>
|
||||
<p><br><p><dt><b>list [<i>scene-name</i>] [<i>verbosity</i>]</b>
|
||||
<p><dd>
|
||||
Lists scene(s).<br>
|
||||
"help /vis/verbose" for definition of verbosity.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>scene-name
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td><tr><td>verbosity
|
||||
<td>type s
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>notifyHandlers [<i>scene-name</i>] [<i>refresh-flush</i>]</b>
|
||||
<p><dd>
|
||||
Notifies scene handlers and forces re-rendering.<br>
|
||||
Notifies the handler(s) of the specified scene and forces a
|
||||
reconstruction of any graphical databases.
|
||||
Clears and refreshes all viewers of current scene.
|
||||
The default action "refresh" does not issue "update" (see
|
||||
/vis/viewer/update).
|
||||
If "flush" is specified, it issues an "update" as well as
|
||||
"refresh" - useful for refreshing and initiating post-processing
|
||||
for graphics systems which need post-processing.<br>
|
||||
The default for <scene-name> is the current scene name.<br>
|
||||
This command does not change current scene, scene handler or viewer.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>scene-name
|
||||
<td>type s
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>refresh-flush
|
||||
<td>type s
|
||||
<td>Omittable : default value = refresh
|
||||
<td>Parameter candidates : refresh flush
|
||||
</table>
|
||||
<p><br><p><dt><b>select [<i>scene-name</i>]</b>
|
||||
<p><dd>
|
||||
Selects a scene<br>
|
||||
Makes the scene current. "/vis/scene/list" to see
|
||||
possible scene names.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>scene-name
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
296
geant4/LEMuSR/doc/commands/_vis_scene_add_.html
Normal file
@ -0,0 +1,296 @@
|
||||
<html><head><title>Commands in /vis/scene/add/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/scene/add/</h2><p>
|
||||
Add model to current scene.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>axes [<i>x0</i>] [<i>y0</i>] [<i>z0</i>] [<i>length</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Add axes.<br>
|
||||
Draws axes at (x0, y0, z0) of given length.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>x0
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>y0
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>z0
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>length
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td></table>
|
||||
<p><br><p><dt><b>ghosts [<i>particle</i>]</b>
|
||||
<p><dd>
|
||||
Adds ghost volumes (G4FlavoredParallelWorld) to the current scene.<br>
|
||||
Selects by particle.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
<p><br><p><dt><b>hits</b>
|
||||
<p><dd>
|
||||
Adds hits to current scene.<br>
|
||||
Hits are drawn at end of event when the scene in which
|
||||
they are added is current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>logicalVolume [<i>logical-volume-name</i>] [<i>depth-of-descent</i>] [<i>booleans-flag</i>] [<i>voxels-flag</i>] [<i>readout-flag</i>]</b>
|
||||
<p><dd>
|
||||
Adds a logical volume to the current scene,<br>
|
||||
Shows boolean components (if any), voxels (if any) and readout geometry
|
||||
(if any). Note: voxels are not constructed until start of run -
|
||||
"/run/beamOn".<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>logical-volume-name
|
||||
<td>type s
|
||||
<td><td><tr><td>depth-of-descent
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>booleans-flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>voxels-flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>readout-flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>logo [<i>height</i>] [<i>unit</i>] [<i>direction</i>] [<i>red</i>] [<i>green</i>] [<i>blue</i>] [<i>auto|manual</i>] [<i>xmid</i>] [<i>ymid</i>] [<i>zmid</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Adds a G4 logo to the current scene.<br>
|
||||
The placement, if automatic, is similar to that of scale -
|
||||
"help /vis/scene/add/scale" for more information.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>height
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td><tr><td>direction
|
||||
<td>type s
|
||||
<td>Omittable : default value = x
|
||||
<td><tr><td>red
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>green
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>blue
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>auto|manual
|
||||
<td>type s
|
||||
<td>Omittable : default value = auto
|
||||
<td><tr><td>xmid
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>ymid
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>zmid
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td></table>
|
||||
<p><br><p><dt><b>scale [<i>length</i>] [<i>unit</i>] [<i>direction</i>] [<i>red</i>] [<i>green</i>] [<i>blue</i>] [<i>auto|manual</i>] [<i>xmid</i>] [<i>ymid</i>] [<i>zmid</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Adds an annotated scale line to the current scene.<br>
|
||||
An annotated line in the specified direction with tick marks at the
|
||||
end. If autoPlacing is true it is required to be centred at the
|
||||
front, right, bottom corner of the world space, comfortably outside
|
||||
the existing bounding box/sphere so that existing objects do not
|
||||
obscure it. Otherwise it is required to be drawn with mid-point at
|
||||
(xmid, ymid, zmid).
|
||||
|
||||
The auto placing algorithm might be:
|
||||
x = xmin + (1 + comfort) * (xmax - xmin);
|
||||
y = ymin - comfort * (ymax - ymin);
|
||||
z = zmin + (1 + comfort) * (zmax - zmin);
|
||||
if direction == x then (x - length,y,z) to (x,y,z);
|
||||
if direction == y then (x,y,z) to (x,y + length,z);
|
||||
if direction == z then (x,y,z - length) to (x,y,z);<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>length
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td><tr><td>direction
|
||||
<td>type s
|
||||
<td>Omittable : default value = x
|
||||
<td><tr><td>red
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>green
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>blue
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>auto|manual
|
||||
<td>type s
|
||||
<td>Omittable : default value = auto
|
||||
<td><tr><td>xmid
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>ymid
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>zmid
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td></table>
|
||||
<p><br><p><dt><b>text [<i>x</i>] [<i>y</i>] [<i>z</i>] [<i>unit</i>] [<i>font_size</i>] [<i>x_offset</i>] [<i>y_offset</i>] [<i>text</i>]</b>
|
||||
<p><dd>
|
||||
Adds text to current scene.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>x
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>y
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>z
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td><tr><td>font_size
|
||||
<td>type d
|
||||
<td>Omittable : default value = 12
|
||||
<td><tr><td>x_offset
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>y_offset
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>text
|
||||
<td>type s
|
||||
<td>Omittable : default value = Hello G4
|
||||
<td></table>
|
||||
<p><br><p><dt><b>trajectories [<i>drawing-mode</i>]</b>
|
||||
<p><dd>
|
||||
Adds trajectories to current scene.<br>
|
||||
Causes trajectories, if any, to be drawn at the end of processiing an
|
||||
event. The drawing mode is an integer that is passed to the
|
||||
DrawTrajectory method. The default implementation in G4VTrajectory,
|
||||
if drawing-mode >= 0, draws the trajectory as a polyline (blue for
|
||||
positive, red for negative, green for neutral) and, if
|
||||
drawing-mode != 0, draws markers of screen size
|
||||
std::abs(drawing-mode)/1000 pixels at each step and auxiliary point,
|
||||
if any. So drawing-mode = 5000 is a good choice.
|
||||
Enable storing with "/tracking/storeTrajectory 1".
|
||||
See also "/vis/scene/endOfEventAction".<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>drawing-mode
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>userAction [<i>xmin</i>] [<i>xmax</i>] [<i>ymin</i>] [<i>ymax</i>] [<i>zmin</i>] [<i>zmax</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Add Vis User Action, if any, to current scene.<br>
|
||||
Optional arguments define the extent of the callback drawing. You may
|
||||
not need this if the extent has been defined in the original
|
||||
SetUserAction or is defined by other components of the scene. But if
|
||||
the user action is the only component of the scene, you will certainly
|
||||
need to set the extent either in SetUserAction or here. A scene must
|
||||
have an extent one way or another so that the viewer can calculate
|
||||
how to point the camera.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>xmin
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>xmax
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>ymin
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>ymax
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>zmin
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>zmax
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = cm
|
||||
<td></table>
|
||||
<p><br><p><dt><b>volume [<i>physical-volume-name</i>] [<i>copy-no</i>] [<i>depth-of-descent</i>] [<i>clip-volume-type</i>] [<i>parameter-unit</i>] [<i>parameter-1</i>] [<i>parameter-2</i>] [<i>parameter-3</i>] [<i>parameter-4</i>] [<i>parameter-5</i>] [<i>parameter-6</i>]</b>
|
||||
<p><dd>
|
||||
Adds a physical volume to current scene, with optional clipping volume.<br>
|
||||
If physical-volume-name is "world" (the default), the top of the
|
||||
tracking tree is used (GetNavigatorForTracking()->GetWorldVolume()).
|
||||
Otherwise a search of the tracking tree is made, taking the first
|
||||
matching occurence only. To see a representation of the geometry
|
||||
hierarchy of the tracking tree, try "/vis/drawTree" or one of the
|
||||
driver/browser combinations that have the required functionality,
|
||||
e.g., HepRepFile/XML with the WIRED3/4 browser.<br>
|
||||
If clip-volume-type is specified, the subsequent parameters are used to
|
||||
to define a clipping volume. For example,
|
||||
"vis/scene/add/volume ! ! ! box km 0 1 0 1 0 1" will draw the world
|
||||
with the positive octant cut away.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>physical-volume-name
|
||||
<td>type s
|
||||
<td>Omittable : default value = world
|
||||
<td><tr><td>copy-no
|
||||
<td>type i
|
||||
<td>Omittable : default value = -1
|
||||
<td><tr><td>depth-of-descent
|
||||
<td>type i
|
||||
<td>Omittable : default value = -1
|
||||
<td><tr><td>clip-volume-type
|
||||
<td>type s
|
||||
<td>Omittable : default value = none
|
||||
<td><tr><td>parameter-unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td><tr><td>parameter-1
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>parameter-2
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>parameter-3
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>parameter-4
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>parameter-5
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>parameter-6
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
193
geant4/LEMuSR/doc/commands/_vis_viewer_.html
Normal file
@ -0,0 +1,193 @@
|
||||
<html><head><title>Commands in /vis/viewer/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/viewer/</h2><p>
|
||||
Operations on Geant4 viewers.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_vis_viewer_set_.html">/vis/viewer/set/</a>
|
||||
<p><dd>Set view parameters of current viewer.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>clear [<i>viewer-name</i>]</b>
|
||||
<p><dd>
|
||||
Clears viewer.<br>
|
||||
By default, clears current viewer. Specified viewer becomes current.
|
||||
"/vis/viewer/list" to see possible viewer names.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>viewer-name
|
||||
<td>type s
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>create [<i>scene-handler</i>] [<i>viewer-name</i>] [<i>window-size-hint</i>]</b>
|
||||
<p><dd>
|
||||
Creates a viewer for the specified scene handler.<br>
|
||||
Default scene handler is the current scene handler. Invents a name
|
||||
if not supplied. (Note: the system adds information to the name
|
||||
for identification - only the characters up to the first blank are
|
||||
used for removing, selecting, etc.) This scene handler and viewer
|
||||
become current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>scene-handler
|
||||
<td>type s
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>viewer-name
|
||||
<td>type s
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>window-size-hint
|
||||
<td>type i
|
||||
<td>Omittable : default value = 600
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dolly [<i>increment</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Incremental dolly.<br>
|
||||
Moves the camera incrementally towards target point.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>increment
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>dollyTo [<i>distance</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Dolly to specific coordinate.<br>
|
||||
Places the camera towards target point relative to standard camera point.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>distance
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>flush [<i>viewer-name</i>]</b>
|
||||
<p><dd>
|
||||
Compound command: "/vis/viewer/refresh" + "/vis/viewer/update".<br>
|
||||
Useful for refreshing and initiating post-processing for graphics
|
||||
systems which need post-processing. By default, acts on current
|
||||
viewer. "/vis/viewer/list" to see possible viewers. Viewer
|
||||
becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>viewer-name
|
||||
<td>type s
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>list [<i>viewer-name</i>] [<i>verbosity</i>]</b>
|
||||
<p><dd>
|
||||
Lists viewers(s).<br>
|
||||
See "/vis/verbose" for definition of verbosity.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>viewer-name
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td><tr><td>verbosity
|
||||
<td>type s
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>pan [<i>right-increment</i>] [<i>up-increment</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Incremental pan.<br>
|
||||
Moves the camera incrementally right and up by these amounts (as seen
|
||||
from viewpoint direction).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>right-increment
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>up-increment
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td></table>
|
||||
<p><br><p><dt><b>panTo [<i>right</i>] [<i>up</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Pan to specific coordinate.<br>
|
||||
Places the camera in this position right and up relative to standard
|
||||
target point (as seen from viewpoint direction).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>right
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>up
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td></table>
|
||||
<p><br><p><dt><b>refresh [<i>viewer-name</i>]</b>
|
||||
<p><dd>
|
||||
Refreshes viewer.<br>
|
||||
By default, acts on current viewer. "/vis/viewer/list"
|
||||
to see possible viewers. Viewer becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>viewer-name
|
||||
<td>type s
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>reset [<i>viewer-name</i>]</b>
|
||||
<p><dd>
|
||||
Resets viewer.<br>
|
||||
By default, acts on current viewer. "/vis/viewer/list"
|
||||
to see possible viewers. Viewer becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>viewer-name
|
||||
<td>type s
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>select [<i>viewer-name</i>]</b>
|
||||
<p><dd>
|
||||
Selects viewer.<br>
|
||||
Specify viewer by name. "/vis/viewer/list" to see possible viewers.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>viewer-name
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>update [<i>viewer-name</i>]</b>
|
||||
<p><dd>
|
||||
Triggers graphical database post-processing for viewers
|
||||
using that technique.<br>
|
||||
For such viewers the view only becomes visible with this command.
|
||||
By default, acts on current viewer. "/vis/viewer/list"
|
||||
to see possible viewers. Viewer becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>viewer-name
|
||||
<td>type s
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>zoom [<i>multiplier</i>]</b>
|
||||
<p><dd>
|
||||
Incremental zoom.<br>
|
||||
Multiplies current magnification by this factor.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>multiplier
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>zoomTo [<i>factor</i>]</b>
|
||||
<p><dd>
|
||||
Absolute zoom.<br>
|
||||
Magnifies standard magnification by this factor.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>factor
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
</dl></body></html>
|
279
geant4/LEMuSR/doc/commands/_vis_viewer_set_.html
Normal file
@ -0,0 +1,279 @@
|
||||
<html><head><title>Commands in /vis/viewer/set/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/viewer/set/</h2><p>
|
||||
Set view parameters of current viewer.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>all [<i>from-viewer-name</i>]</b>
|
||||
<p><dd>
|
||||
Copies view parameters.<br>
|
||||
Copies view parameters (except the autoRefresh status) from
|
||||
from-viewer to current viewer.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>from-viewer-name
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>autoRefresh [<i>auto-refresh</i>]</b>
|
||||
<p><dd>
|
||||
Sets auto-refresh.<br>
|
||||
If true, view is automatically refreshed after a change of
|
||||
view parameters.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>auto-refresh
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>auxiliaryEdge [<i>edge</i>]</b>
|
||||
<p><dd>
|
||||
Sets visibility of auxiliary edges<br>
|
||||
Auxiliary edges, i.e., those that are part of a curved surface,
|
||||
sometimes called soft edges, become visible/invisible.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>edge
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>culling [<i>culling-option</i>] [<i>action</i>] [<i>density-threshold</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Set culling options.<br>
|
||||
"global": enables/disables all other culling options.<br>
|
||||
"coveredDaughters": culls, i.e., eliminates, volumes that would not
|
||||
be seen because covered by ancester volumes in surface drawing mode,
|
||||
and then only if the ancesters are visible and opaque, and then only
|
||||
if no sections or cutaways are in operation. Intended solely to
|
||||
improve the speed of rendering visible volumes.<br>
|
||||
"invisible": culls objects with the invisible attribute set.<br>
|
||||
"density": culls volumes with density lower than threshold. Useful
|
||||
for eliminating "container volumes" with no physical correspondence,
|
||||
whose material is usually air. If this is selected, provide threshold
|
||||
density and unit (g/cm3 mg/cm3 or kg/m3).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>culling-option
|
||||
<td>type s
|
||||
<td><td>Parameter candidates : global coveredDaughters invisible density
|
||||
<tr><td>action
|
||||
<td>type b
|
||||
<td>Omittable : default value = true
|
||||
<td><tr><td>density-threshold
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.01
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = g/cm3
|
||||
<td>Parameter candidates : g/cm3, mg/cm3 kg/m3
|
||||
</table>
|
||||
<p><br><p><dt><b>edge [<i>edge</i>]</b>
|
||||
<p><dd>
|
||||
default: true<br>
|
||||
Edges become visible/invisible in surface mode.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>edge
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>globalMarkerScale [<i>scale-factorr</i>]</b>
|
||||
<p><dd>
|
||||
Multiplies marker sizes by this factor.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>scale-factorr
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>hiddenEdge [<i>hidden-edge</i>]</b>
|
||||
<p><dd>
|
||||
Edges become hidden/seen in wireframe or surface mode.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>hidden-edge
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>hiddenMarker [<i>hidden-marker</i>]</b>
|
||||
<p><dd>
|
||||
If true, closer objects hide markers. Otherwise, markers always show.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>hidden-marker
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>lightsMove [<i>lightsMove</i>]</b>
|
||||
<p><dd>
|
||||
Lights move with camera or with object<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>lightsMove
|
||||
<td>type s
|
||||
<td><td>Parameter candidates : cam camera with-camera obj object with-object
|
||||
</table>
|
||||
<p><br><p><dt><b>lightsThetaPhi [<i>theta</i>] [<i>phi</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Set direction from target to lights.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>theta
|
||||
<td>type d
|
||||
<td>Omittable : default value = 60
|
||||
<td><tr><td>phi
|
||||
<td>type d
|
||||
<td>Omittable : default value = 45
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = deg
|
||||
<td></table>
|
||||
<p><br><p><dt><b>lightsVector [<i>x</i>] [<i>y</i>] [<i>z</i>]</b>
|
||||
<p><dd>
|
||||
Set direction from target to lights.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>x
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>y
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>z
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>lineSegmentsPerCircle [<i>line-segments</i>]</b>
|
||||
<p><dd>
|
||||
Set number of sides per circle for polygon/polyhedron drawing.<br>
|
||||
Refers to graphical representation of objects with curved lines/surfaces.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>line-segments
|
||||
<td>type i
|
||||
<td>Omittable : default value = 24
|
||||
<td></table>
|
||||
<p><br><p><dt><b>projection [<i>projection</i>] [<i>field-half-angle</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Orthogonal or perspective projection.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>projection
|
||||
<td>type s
|
||||
<td>Omittable : default value = orthogonal
|
||||
<td>Parameter candidates : o orthogonal p perspective
|
||||
<tr><td>field-half-angle
|
||||
<td>type d
|
||||
<td>Omittable : default value = 30
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = deg
|
||||
<td></table>
|
||||
<p><br><p><dt><b>sectionPlane [<i>Selector</i>] [<i>x</i>] [<i>y</i>] [<i>z</i>] [<i>unit</i>] [<i>nx</i>] [<i>ny</i>] [<i>nz</i>]</b>
|
||||
<p><dd>
|
||||
Set plane for drawing section (DCUT).<br>
|
||||
E.g., for a y-z plane at x = 1 cm:
|
||||
"/vis/viewer/set/sectionPlane on 1 0 0 cm 1 0 0".
|
||||
To turn off: /vis/viewer/set/sectionPlane off<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Selector
|
||||
<td>type c
|
||||
<td>Omittable : default value = on
|
||||
<td><tr><td>x
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>y
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>z
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = cm
|
||||
<td><tr><td>nx
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>ny
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>nz
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>style [<i>style</i>]</b>
|
||||
<p><dd>
|
||||
Set style of drawing.<br>
|
||||
(Hidden line drawing is controlled by "/vis/viewer/set/hiddenEdge".)<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>style
|
||||
<td>type s
|
||||
<td><td>Parameter candidates : w wireframe s surface
|
||||
</table>
|
||||
<p><br><p><dt><b>upThetaPhi [<i>theta</i>] [<i>phi</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Set up vector.<br>
|
||||
Viewer will attempt always to show this direction upwards.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>theta
|
||||
<td>type d
|
||||
<td>Omittable : default value = 90
|
||||
<td><tr><td>phi
|
||||
<td>type d
|
||||
<td>Omittable : default value = 90
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = deg
|
||||
<td></table>
|
||||
<p><br><p><dt><b>upVector [<i>x</i>] [<i>y</i>] [<i>z</i>]</b>
|
||||
<p><dd>
|
||||
Set up vector.<br>
|
||||
Viewer will attempt always to show this direction upwards.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>x
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>y
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>z
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>viewpointThetaPhi [<i>theta</i>] [<i>phi</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Set direction from target to camera.<br>
|
||||
Also changes lightpoint direction if lights are set to move with camera.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>theta
|
||||
<td>type d
|
||||
<td>Omittable : default value = 60
|
||||
<td><tr><td>phi
|
||||
<td>type d
|
||||
<td>Omittable : default value = 45
|
||||
<td><tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = deg
|
||||
<td></table>
|
||||
<p><br><p><dt><b>viewpointVector [<i>x</i>] [<i>y</i>] [<i>z</i>]</b>
|
||||
<p><dd>
|
||||
Set direction from target to camera.<br>
|
||||
Also changes lightpoint direction if lights are set to move with camera.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>x
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>y
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>z
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
</dl></body></html>
|
39
geant4/LEMuSR/doc/commands/annx_com.d.o.x
Normal file
@ -0,0 +1,39 @@
|
||||
/** @page annexe_commands List of the Commands
|
||||
<html><head><title>Commands in /</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_control_.html">/control/</a>
|
||||
<p><dd>UI control commands.
|
||||
<p><br><p><dt><a href="_units_.html">/units/</a>
|
||||
<p><dd>Available units.
|
||||
<p><br><p><dt><a href="_geometry_.html">/geometry/</a>
|
||||
<p><dd>Geometry control commands.
|
||||
<p><br><p><dt><a href="_tracking_.html">/tracking/</a>
|
||||
<p><dd>TrackingManager and SteppingManager control commands.
|
||||
<p><br><p><dt><a href="_event_.html">/event/</a>
|
||||
<p><dd>EventManager control commands.
|
||||
<p><br><p><dt><a href="_run_.html">/run/</a>
|
||||
<p><dd>Run control commands.
|
||||
<p><br><p><dt><a href="_random_.html">/random/</a>
|
||||
<p><dd>Random number status control commands.
|
||||
<p><br><p><dt><a href="_particle_.html">/particle/</a>
|
||||
<p><dd>Particle control commands.
|
||||
<p><br><p><dt><a href="_process_.html">/process/</a>
|
||||
<p><dd>Process Table control commands.
|
||||
<p><br><p><dt><a href="_Detector_.html">/Detector/</a>
|
||||
<p><dd>Set detector parameters
|
||||
<p><br><p><dt><a href="_lemuGun_.html">/lemuGun/</a>
|
||||
<p><dd>LEMuSR particle shooting control commands.
|
||||
<p><br><p><dt><a href="_gun_.html">/gun/</a>
|
||||
<p><dd>Particle Gun control commands.
|
||||
<p><br><p><dt><a href="_vis_.html">/vis/</a>
|
||||
<p><dd>Visualization commands.
|
||||
<p><br><p><dt><a href="_hits_.html">/hits/</a>
|
||||
<p><dd>Sensitive detectors and Hits
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
</dl></body></html>
|
||||
|
||||
Back to section " \ref commands ".
|
||||
*/
|
178
geant4/LEMuSR/doc/det.eps
Normal file
@ -0,0 +1,178 @@
|
||||
%!PS-Adobe-1.0 EPSF-3.0
|
||||
%%BoundingBox: 0 380 457 842
|
||||
%%Creator: KDE 3.3.1-3.14 Red Hat
|
||||
%%CreationDate: Wed Feb 15 16:13:19 2006
|
||||
%%Orientation: Portrait
|
||||
%%Pages: 1
|
||||
%%DocumentFonts:
|
||||
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
% Prolog copyright 1994-2003 Trolltech. You may copy this prolog in any way
|
||||
% that is directly related to this document. For other use of this prolog,
|
||||
% see your licensing agreement for Qt.
|
||||
/d/def load def/D{bind d}bind d/d2{dup dup}D/B{0 d2}D/W{255 d2}D/ED{exch d}D
|
||||
/D0{0 ED}D/LT{lineto}D/MT{moveto}D/S{stroke}D/F{setfont}D/SW{setlinewidth}D
|
||||
/CP{closepath}D/RL{rlineto}D/NP{newpath}D/CM{currentmatrix}D/SM{setmatrix}D
|
||||
/TR{translate}D/SD{setdash}D/SC{aload pop setrgbcolor}D/CR{currentfile read
|
||||
pop}D/i{index}D/bs{bitshift}D/scs{setcolorspace}D/DB{dict dup begin}D/DE{end
|
||||
d}D/ie{ifelse}D/sp{astore pop}D/BSt 0 d/LWi 1 d/PSt 1 d/Cx 0 d/Cy 0 d/WFi
|
||||
false d/OMo false d/BCol[1 1 1]d/PCol[0 0 0]d/BkCol[1 1 1]d/BDArr[0.94 0.88
|
||||
0.63 0.50 0.37 0.12 0.06]d/defM matrix d/nS 0 d/GPS{PSt 1 ge PSt 5 le and{{
|
||||
LArr PSt 1 sub 2 mul get}{LArr PSt 2 mul 1 sub get}ie}{[]}ie}D/QS{PSt 0 ne{
|
||||
gsave LWi SW true GPS 0 SD S OMo PSt 1 ne and{BkCol SC false GPS dup 0 get
|
||||
SD S}if grestore}if}D/r28{{CR dup 32 gt{exit}if pop}loop 3{CR}repeat 0 4{7
|
||||
bs exch dup 128 gt{84 sub}if 42 sub 127 and add}repeat}D/rA 0 d/rL 0 d/rB{rL
|
||||
0 eq{/rA r28 d/rL 28 d}if dup rL gt{rA exch rL sub rL exch/rA 0 d/rL 0 d rB
|
||||
exch bs add}{dup rA 16#fffffff 3 -1 roll bs not and exch dup rL exch sub/rL
|
||||
ED neg rA exch bs/rA ED}ie}D/uc{/rL 0 d 0{dup 2 i length ge{exit}if 1 rB 1
|
||||
eq{3 rB dup 3 ge{1 add dup rB 1 i 5 ge{1 i 6 ge{1 i 7 ge{1 i 8 ge{128 add}if
|
||||
64 add}if 32 add}if 16 add}if 3 add exch pop}if 3 add exch 10 rB 1 add{dup 3
|
||||
i lt{dup}{2 i}ie 4 i 3 i 3 i sub 2 i getinterval 5 i 4 i 3 -1 roll
|
||||
putinterval dup 4 -1 roll add 3 1 roll 4 -1 roll exch sub dup 0 eq{exit}if 3
|
||||
1 roll}loop pop pop}{3 rB 1 add{2 copy 8 rB put 1 add}repeat}ie}loop pop}D
|
||||
/sl D0/QCIgray D0/QCIcolor D0/QCIindex D0/QCI{/colorimage where{pop false 3
|
||||
colorimage}{exec/QCIcolor ED/QCIgray QCIcolor length 3 idiv string d 0 1
|
||||
QCIcolor length 3 idiv 1 sub{/QCIindex ED/x QCIindex 3 mul d QCIgray
|
||||
QCIindex QCIcolor x get 0.30 mul QCIcolor x 1 add get 0.59 mul QCIcolor x 2
|
||||
add get 0.11 mul add add cvi put}for QCIgray image}ie}D/di{gsave TR 1 i 1 eq
|
||||
{false eq{pop true 3 1 roll 4 i 4 i false 4 i 4 i imagemask BkCol SC
|
||||
imagemask}{pop false 3 1 roll imagemask}ie}{dup false ne{/languagelevel
|
||||
where{pop languagelevel 3 ge}{false}ie}{false}ie{/ma ED 8 eq{/dc[0 1]d
|
||||
/DeviceGray}{/dc[0 1 0 1 0 1]d/DeviceRGB}ie scs/im ED/mt ED/h ED/w ED/id 7
|
||||
DB/ImageType 1 d/Width w d/Height h d/ImageMatrix mt d/DataSource im d
|
||||
/BitsPerComponent 8 d/Decode dc d DE/md 7 DB/ImageType 1 d/Width w d/Height
|
||||
h d/ImageMatrix mt d/DataSource ma d/BitsPerComponent 1 d/Decode[0 1]d DE 4
|
||||
DB/ImageType 3 d/DataDict id d/MaskDict md d/InterleaveType 3 d end image}{
|
||||
pop 8 4 1 roll 8 eq{image}{QCI}ie}ie}ie grestore}d/BF{gsave BSt 1 eq{BCol SC
|
||||
WFi{fill}{eofill}ie}if BSt 2 ge BSt 8 le and{BDArr BSt 2 sub get/sc ED BCol{
|
||||
1. exch sub sc mul 1. exch sub}forall 3 array astore SC WFi{fill}{eofill}ie}
|
||||
if BSt 9 ge BSt 14 le and{WFi{clip}{eoclip}ie defM SM pathbbox 3 i 3 i TR 4
|
||||
2 roll 3 2 roll exch sub/h ED sub/w ED OMo{NP 0 0 MT 0 h RL w 0 RL 0 h neg
|
||||
RL CP BkCol SC fill}if BCol SC 0.3 SW NP BSt 9 eq BSt 11 eq or{0 4 h{dup 0
|
||||
exch MT w exch LT}for}if BSt 10 eq BSt 11 eq or{0 4 w{dup 0 MT h LT}for}if
|
||||
BSt 12 eq BSt 14 eq or{w h gt{0 6 w h add{dup 0 MT h sub h LT}for}{0 6 w h
|
||||
add{dup 0 exch MT w sub w exch LT}for}ie}if BSt 13 eq BSt 14 eq or{w h gt{0
|
||||
6 w h add{dup h MT h sub 0 LT}for}{0 6 w h add{dup w exch MT w sub 0 exch LT
|
||||
}for}ie}if S}if BSt 24 eq{}if grestore}D/mat matrix d/ang1 D0/ang2 D0/w D0/h
|
||||
D0/x D0/y D0/ARC{/ang2 ED/ang1 ED/h ED/w ED/y ED/x ED mat CM pop x w 2 div
|
||||
add y h 2 div add TR 1 h w div neg scale ang2 0 ge{0 0 w 2 div ang1 ang1
|
||||
ang2 add arc}{0 0 w 2 div ang1 ang1 ang2 add arcn}ie mat SM}D/C D0/P{NP MT
|
||||
0.5 0.5 rmoveto 0 -1 RL -1 0 RL 0 1 RL CP fill}D/M{/Cy ED/Cx ED}D/L{NP Cx Cy
|
||||
MT/Cy ED/Cx ED Cx Cy LT QS}D/DL{NP MT LT QS}D/HL{1 i DL}D/VL{2 i exch DL}D/R
|
||||
{/h ED/w ED/y ED/x ED NP x y MT 0 h RL w 0 RL 0 h neg RL CP BF QS}D/ACR{/h
|
||||
ED/w ED/y ED/x ED x y MT 0 h RL w 0 RL 0 h neg RL CP}D/xr D0/yr D0/rx D0/ry
|
||||
D0/rx2 D0/ry2 D0/RR{/yr ED/xr ED/h ED/w ED/y ED/x ED xr 0 le yr 0 le or{x y
|
||||
w h R}{xr 100 ge yr 100 ge or{x y w h E}{/rx xr w mul 200 div d/ry yr h mul
|
||||
200 div d/rx2 rx 2 mul d/ry2 ry 2 mul d NP x rx add y MT x y rx2 ry2 180 -90
|
||||
x y h add ry2 sub rx2 ry2 270 -90 x w add rx2 sub y h add ry2 sub rx2 ry2 0
|
||||
-90 x w add rx2 sub y rx2 ry2 90 -90 ARC ARC ARC ARC CP BF QS}ie}ie}D/E{/h
|
||||
ED/w ED/y ED/x ED mat CM pop x w 2 div add y h 2 div add TR 1 h w div scale
|
||||
NP 0 0 w 2 div 0 360 arc mat SM BF QS}D/A{16 div exch 16 div exch NP ARC QS}
|
||||
D/PIE{/ang2 ED/ang1 ED/h ED/w ED/y ED/x ED NP x w 2 div add y h 2 div add MT
|
||||
x y w h ang1 16 div ang2 16 div ARC CP BF QS}D/CH{16 div exch 16 div exch NP
|
||||
ARC CP BF QS}D/BZ{curveto QS}D/CRGB{255 div 3 1 roll 255 div 3 1 roll 255
|
||||
div 3 1 roll}D/BC{CRGB BkCol sp}D/BR{CRGB BCol sp/BSt ED}D/WB{1 W BR}D/NB{0
|
||||
B BR}D/PE{setlinejoin setlinecap CRGB PCol sp/LWi ED/PSt ED LWi 0 eq{0.25
|
||||
/LWi ED}if PCol SC}D/P1{1 0 5 2 roll 0 0 PE}D/ST{defM SM concat}D/MF{true
|
||||
exch true exch{exch pop exch pop dup 0 get dup findfont dup/FontName get 3
|
||||
-1 roll eq{exit}if}forall exch dup 1 get/fxscale ED 2 get/fslant ED exch
|
||||
/fencoding ED[fxscale 0 fslant 1 0 0]makefont fencoding false eq{}{dup
|
||||
maxlength dict begin{1 i/FID ne{def}{pop pop}ifelse}forall/Encoding
|
||||
fencoding d currentdict end}ie definefont pop}D/MFEmb{findfont dup length
|
||||
dict begin{1 i/FID ne{d}{pop pop}ifelse}forall/Encoding ED currentdict end
|
||||
definefont pop}D/DF{findfont/fs 3 -1 roll d[fs 0 0 fs -1 mul 0 0]makefont d}
|
||||
D/ty 0 d/Y{/ty ED}D/Tl{gsave SW NP 1 i exch MT 1 i 0 RL S grestore}D/XYT{ty
|
||||
MT/xyshow where{pop pop xyshow}{exch pop 1 i dup length 2 div exch
|
||||
stringwidth pop 3 -1 roll exch sub exch div exch 0 exch ashow}ie}D/AT{ty MT
|
||||
1 i dup length 2 div exch stringwidth pop 3 -1 roll exch sub exch div exch 0
|
||||
exch ashow}D/QI{/C save d pageinit/Cx 0 d/Cy 0 d/OMo false d}D/QP{C restore
|
||||
showpage}D/SPD{/setpagedevice where{1 DB 3 1 roll d end setpagedevice}{pop
|
||||
pop}ie}D/SV{BSt LWi PSt Cx Cy WFi OMo BCol PCol BkCol/nS nS 1 add d gsave}D
|
||||
/RS{nS 0 gt{grestore/BkCol ED/PCol ED/BCol ED/OMo ED/WFi ED/Cy ED/Cx ED/PSt
|
||||
ED/LWi ED/BSt ED/nS nS 1 sub d}if}D/CLSTART{/clipTmp matrix CM d defM SM NP}
|
||||
D/CLEND{clip NP clipTmp SM}D/CLO{grestore gsave defM SM}D
|
||||
|
||||
/LArr[ [] [] [ 10.000 3.000 ] [ 3.000 10.000 ] [ 3.000 3.000 ] [ 3.000 3.000 ] [ 5.000 3.000 3.000 3.000 ] [ 3.000 5.000 3.000 3.000 ] [ 5.000 3.000 3.000 3.000 3.000 ] [ 3.000 5.000 3.000 3.000 3.000 3.000 ] ] d
|
||||
/pageinit {
|
||||
% 210*297mm (portrait)
|
||||
0 842 translate 1 -1 scale/defM matrix CM d } d
|
||||
%%EndProlog
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%Page: 1 1
|
||||
%%BeginPageSetup
|
||||
QI
|
||||
%%EndPageSetup
|
||||
[1 0 0 1 0 0]ST
|
||||
CLSTART
|
||||
0 0 457 462 ACR
|
||||
CLEND
|
||||
B P1
|
||||
NB
|
||||
W BC
|
||||
/sl 53012 string uc
|
||||
Þ½Y-*Úèêàçîß÷ü;õûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;Ýü·**Û3*îT¹<0*Ö4â»Ç;
|
||||
ýü;õûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷
|
||||
õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽ
|
||||
ý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù
|
||||
9÷õIðí½âÝýƽý;ÍOL,*°Ï¿UF¶ç+·Óàë+º²;9ÇÆ-ð8ðJ¯JÈÆ¹7/QMî¹ÃúÄ1îÑÃú4+îòCìP-ÚÈÄ5ØÊ
|
||||
-¸/ðÈ*°Î¿¹FR6ÆÑïXMìOHºWƹºXµ²:CâG¹ÂÉÆÉ5*8LX1°XÉLX88¶ð01Q:ÍÆýSƹ¹4?-ÅTÎBîVÙÌ»
|
||||
W¯Þ·TFÂÚ-²¶**îèß³ÚÑÃÅ.·QRïæ+´-·åTö4éçÓ?UÀ*P*ÜAâÛâÕëKìË>öUü+Ú,îè?ýI6ð8NÞP;ÕRÎ
|
||||
:1*º¯;I,B2¶L-ÉÁÚ4¾ÁÆ5,öÚ:Õ0îâ-Ô1·A@Õë;1%
|
||||
d
|
||||
457 116[1 0 0 1 0 0]sl 8 false 0 0 di
|
||||
/sl 53012 string uc
|
||||
Þ½H***<ð¿V¹¾**îý,=L,8:Þ3XÒ6FÈÄà¾LÀE¸¶²1Ã+åSïR9XîKJKB¾Ûð9ÞÇ01¾Êú?;9V,ðX»Þø:õL
|
||||
*½ý+·+*Zã+*ÚÞÃOÏäÐ;¯?±×NâÛ4×ûúϺÃú/âGàÃÍ/·µ8ZÃÆ¹?ððÈýµ0·QHZ½ÆU±BÆE6Y-öÛ:õÔ
|
||||
0Ô-·Õ*îLïìíãÙÀÚáD¶9·30J4ÆÉ.6PLD9*¸;ð8ĺ46Ʊú8°Xí/JÕJX3Þ8Mü8=ð+Á0.¾´3÷70Þç±úß
|
||||
ÆéÓWÉÃ0¸/ðÈ*°Î¿¹FR6Æ;HÌMKõDX<¹ÈÓÝÔ>;ÇJ÷ãLQÉèGüï+GGï1½È9ܽâ»ý;ýüMüûÅúù9÷õIðí½
|
||||
âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüM
|
||||
üûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIð
|
||||
í½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðí½âÝýƽý;ýüMüûÅúù9÷õIðýCðüN*ºÇÏü
|
||||
ü9ôûÍíùIÝõ½¼íýúÜý÷»ýñùüåõûÍíùIÝõ½¼íýúÜý÷»ýñùN±0%
|
||||
d
|
||||
457 116[1 0 0 1 0 0]sl 8 false 0 116 di
|
||||
/sl 53012 string uc
|
||||
Þýù1¾õ½¼íýúÜý÷»ýñùüåõûÍíùIÝõ½¼íýúÜý÷»ýñùüåõûÍíùIÝõ½¼íýúÜý÷»ýñùüåõûÍíùIÝõ½¼íý
|
||||
úÜý÷»ýñùüåõûÍíùIÝõ½¼íýúÜý÷»ýñùüåõûÍíùIÝõ½¼íýúÜý÷ûÕNM***æ³ÔöO8õà*DÊ?HÈáG=Õ¶òû
|
||||
RøYÂÚ*¿Âý/*F*¾å3·;±9BðìÂU;JÃú¸*ôõKXÇøÃ-ÚR¾éÝÜ/Uºý.öüåõûÍíùIÝõ½¼íýúÜý÷»ýñùüåõ
|
||||
ó¼7+**JÕ×àA·Ú5-æZÔöR8õÊÚäÏÕ±çÍ;ðì³J¸¾¶**½=ð,.<0÷I3·µàÓ2Î:µIÕ¶¯*ýÌð*¾51¶ï+5±Ã
|
||||
QÆ*YïÝ´ôñíI+Üý÷»ýñùüåõûÍíùIÝõ½¼íýú´S5.***Ûä4ÝâïX6JÁ×àM·Ú±ð4ÆÜ9O½ÄƹÄ+÷+à+*úË
|
||||
ÆÉF:ÜNâÛ3ÕL¾-=ÖÌUêæ;ü7ã+*A8î0ÖÕã4íI+Üý÷»ýñùüåõûÍíùIÝõ½¼íýúÜý÷ûõâ=**N@.AÂîÊ+X
|
||||
ÐÞ/1ÚS¿ýA·×ûÞÃÐGÈÝÉ>¶ß+µTîAïøÖè>Þ3-Ú¾¾Ø¿;¾=F¶@0çãé¿ÎÛBٱƹÁ,í4ðXCè˯۰ÕE߸NW
|
||||
1²õXóìÝìÓTFÈö=J½±1õ,ð?KìÓ¯G¿ÚE8¶Ä-åN@AâÛÇÙÁнÖ+1ØïÈ=ü<âÛ;ö5ƹÕ-1ÓóZⱸù޶¿1
|
||||
õúö²A¼ÏâGEñB¾;¾±?¶òè13H×TFC÷E0¶á0ÅVïÈ2Üý+ºP¸9,öüóõûÍíùIÝõ½¼íýúÜý÷»ýñùüåµ³Í:*
|
||||
*Vç;4<XBÞýÉÚG?L6Þ/-úµ*I+¶++1LîÄ/Ä+Ä*ð½ÃÕ1·/³ñ³A>:4îP0ìÆJ°3ºê.A<ö6>¼DâGJ¾MÁ¹ï
|
||||
ðAÌHMçݽÀÓL8
|
||||
d
|
||||
457 116[1 0 0 1 0 0]sl 8 false 0 232 di
|
||||
/sl 52098 string uc
|
||||
ÞýÝ**+*J7J>JSJ>Þ3,FC¾»âàP0ïéæ+*B*¶ï*ÅFîÈ+@ß4A8îßG8öýð̳Ù:ýÏ=õûEìùIÝõ½¼íýúÜý÷
|
||||
»ýñùüåÕíÖ,*â¯,Q±**FÕÀMFRG¶ß*9=õìÈV@MED2-¶ß*ýëæ0*ìBÞJÞ34Â.>6ÚGÀMUÆÃ?üHâÛRÕ5ò¸
|
||||
¾+±+/,Q8ôRâÍÒê7âGCÝñJºR0íËâí»J°Æ¹@ðSJìË9ÜÞÁåô¶A0îÀ,ÐÁÚMÎÉS2íóà¹-·*îÄ+XFÞ/+Úî
|
||||
ô-?B/B2¶U0·ÖàÃ-º¶ÅùüÉóûÍíùIÝõ½¼íýúÜý÷»ýñùüåõûÍíÈ8+*.*âÀ-3»JHÖ¶Ï5Õ6îÐFÐZ¾·¾ºV
|
||||
ð¿JXÜGÆ>Õ8¶ê¿+FϾÁ¶Æ-ÕÚ:õ³º3:1*XFÞÇ1FT+îý>Ðñâ?*îVäÌRÞ;Nâ,·QÄï+Ãú+KÛ¶¾UB¶åY1
|
||||
0îD,íÍéÓ5H¯¾ÁFÆ*ðXãß5ÀÚ≠/ZµHîÈ2ðÁÚU>¶æ*·Lìó³ºG;½à+Ÿîàä86JàÖ¶L0AYö·Kì3GÝZ¾
|
||||
51¶Ï,1×G¿»å,5µTïä7Ì´Þ3·Fè¾Ñ¯öü3îßÎÛ**îûéíùIÝõ½¼íýúÜý÷»ýñùüåõûÍí0W¿***î.,ôá2Õ
|
||||
U:4Z;ÚöY8õà*XRÞP<;1XºYƹÚáï+ÙKñ=¯¹ã2Õ:µ;ÙöI8õà*XHì¿+Nö¾3ÎYÇÞÃXÚ:ÀÅ0·Q7ôPÙô-·
|
||||
õ´îÕÃúó½GB¾ÛÞàëóIµ¿YOðµ¿H/±å7ûµ¹ïÞ+ÜAâ»êѸ:î*ÞùÕÝõ½¼íýúÜý÷»ýñùüåõûÍíùIÝóÍ-*2
|
||||
*¶++U·Âá7¶Þ*1³îËWìG-Và:8+àÃ0ÚK¿ý/·µ½ºHZXüñLìß¶Û¾Û-ÉÉð+ÍÑíõÁÚá05ƹÞ*9AðÌÉJÔ;Í
|
||||
4øí:ÞUÁÚ<óÙ7ƾױ´Ã51¶Ó+Õ¶ï»SìÙHÓ-+1*ܽû»ýñùüåõûÍíùIÝõ½¼íýúÜý÷»ýñùüåõûÍíùIÝõ½
|
||||
¼íýúÜý÷»ýñùüåõûÍíùIÝõ½¼íýúÜý÷»ýñÙ¹¶**-*Å8îÂ-ìòÞ¿+FHÁ6ðîâ*ð+ÂM¶¶Ï+Q0î88ìKâÇNF
|
||||
êÃ5C¶E+AÂî¶Xì³àßGê-,ÌTOD÷¶Ó*SAMXGBM¸ã*1±òöï88ÞO-Úξ>+ïô;87ßã8ÛçÚñ̶G63âJ@²ÖÅ
|
||||
âã¿+ÙÅÚEǸÂ*K+ÇÚçëFÚ-ØEɸê9·Jì?ðF7ÙMD¶¿÷Õ÷üN+È-ÌÒÞË,Ú¼ßÁ¯¶K/ÅVï¾18³à3.F3ã+À=
|
||||
ø¶11µHðÄ3ÌðÞ×;ÚËÁ¹÷¶´A3/ïÏòFÏÀU?¸»1µLî°88+à×IÚ·¾éç·<.10îÆUÌåáÏ36?Ú¹ÃMȶð,A<Ò
|
||||
0îT6Xçá×»FGÀMP·Å-Q2îÊ?ì3à;FÚ¸Ç50Ç+°ìÌáÇ2Nî-3Kì¯âÚøÀ=Ú¸D7ABñZ8ìåâ³¼FKÄÙ»¶çRõF
|
||||
îæH8+à?ÆFʾ5¹¶NÝSÖâÛÓGÎÀÑð¶,2Q2îäØX÷³HÙÆONÍÌá7QÚÙ¿EMÆ4ðXëæ+JF?Ì==¶¿7å:ðX8Ì*à
|
||||
C¸FS˱XÇ,ðXÀMHƹ.4µäîä/à*XBÞ7½ÚCÀÉ@·×4ÅÃî04ìú:ÞC-ã¯5Q7ñ<°XíÞ¿+F¹ÁÁÝÇÀ*4N4¼P
|
||||
*8BÞ/6FÞ¿M¯·O0Q¶î²8X/â7MF¾¾.*ï,AÌ>Þ3.FDÀU²¶Á<ÕTïNT8»àËMFïÂ=/¶Ï6Å-ð::8@ãË-Ú:¾
|
||||
UM¶±-Å8ï:A8çáGâÚúÆñ·¶÷;ÅHïÈ;´J+õ>°ý¾*üµÑBWC2é¿ÚìBÆõI2íýúÜý÷»ýñùüåõûÍíùIݽɳ%
|
||||
d
|
||||
457 114[1 0 0 1 0 0]sl 8 false 0 348 di
|
||||
|
||||
QP
|
||||
%%Trailer
|
||||
%%Pages: 1
|
||||
%%DocumentFonts:
|
||||
%%EOF
|
132487
geant4/LEMuSR/doc/det2.eps
Normal file
1
geant4/LEMuSR/doc/dl
Normal file
@ -0,0 +1 @@
|
||||
doxygen lemusr_dox.cfg
|
3
geant4/LEMuSR/doc/em.sh
Normal file
@ -0,0 +1,3 @@
|
||||
emacs ../include/*.hh&
|
||||
emacs ../src/*.cc&
|
||||
|
44
geant4/LEMuSR/doc/g4setup.dox
Normal file
@ -0,0 +1,44 @@
|
||||
/*! @page g4setup Geant4 Installation
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref setup
|
||||
<B> Up:</B> @ref setup
|
||||
<B> Next:</B> @ref ssg4setup
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section sg4setup Libraries and Compilation
|
||||
<!--Table of Child-Links-->
|
||||
The \gf package can be downloaded from the
|
||||
<A HREF="http://geant4.cern.ch/"><STRONG>Geant4 website</STRONG></A>. Enhanced documentation are available there. A short description of the installation is given in the following sections:
|
||||
* - First , some additional libraries are needed to compile and run \gf
|
||||
* - In order to compile Geant4 the user must go through a configuration procedure which should be done very carefully.
|
||||
*.
|
||||
Note that the following indications are given for Linux operating system. For windows users, we recommend to refer to
|
||||
<A HREF="http://geant4.cern.ch/"><STRONG>Geant4 website</STRONG></A>.
|
||||
|
||||
|
||||
<UL>
|
||||
<LI><A>@ref ssg4setup </A>
|
||||
<UL>
|
||||
<LI><A HREF="g4setupb.html#lbclhep">CLHEP:</A>
|
||||
<LI><A HREF="g4setupb.html#lbmesa">Mesa/OpenGL:</A>
|
||||
<LI><A HREF="g4setupb.html#lbvrml">VRML:</A>
|
||||
<LI><A HREF="g4setupb.html#lbdawn">Dawn: </A>
|
||||
<LI><A HREF="g4setupb.html#lbroot">Root: </A>
|
||||
<LI><A HREF="g4setupb.html#lbcomment">Comment: </A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A>@ref ssg4setup2 </A>
|
||||
<UL>
|
||||
<LI><A><A HREF="g4setupc.html#g4safe">Safest way</A>
|
||||
<LI><A HREF="g4setupc.html#g4manual">Manual way</A>
|
||||
<LI><A HREF="g4setupc.html#g4compile">Compile Geant4:</A>
|
||||
</UL>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
|
||||
|
||||
|
||||
*/
|
44
geant4/LEMuSR/doc/g4setup.dox~
Normal file
@ -0,0 +1,44 @@
|
||||
/*! @page g4setup Geant4 Installation
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref setup
|
||||
<B> Up:</B> @ref setup
|
||||
<B> Next:</B> @ref ssg4setup
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section sg4setup Libraries and Compilation
|
||||
<!--Table of Child-Links-->
|
||||
The \gf package can be downloaded from the
|
||||
<A HREF="http://geant4.cern.ch/"><STRONG>Geant4 website</STRONG></A>. Enhanced documentation are available there. A short description of the installation is given in the following sections:
|
||||
* - First , some additional libraries are needed to compile and run \gf
|
||||
* - In order to compile Geant4 the user must go through a configuration procedure which should be done very carefully.
|
||||
*.
|
||||
Note that the following indications are given for Linux operating system. For windows users, we recommend to refer to
|
||||
<A HREF="http://geant4.cern.ch/"><STRONG>Geant4 website</STRONG></A>.
|
||||
|
||||
|
||||
<UL>
|
||||
<LI><A>@ref ssg4setup </A>
|
||||
<UL>
|
||||
<LI><A HREF="g4setupb.html#lbclhep">CLHEP:</A>
|
||||
<LI><A HREF="g4setupb.html#lbmesa">Mesa/OpenGL:</A>
|
||||
<LI><A HREF="g4setupb.html#lbvrml">VRML:</A>
|
||||
<LI><A HREF="g4setupb.html#lbdawn">Dawn: </A>
|
||||
<LI><A HREF="g4setupb.html#lbroot">Root: </A>
|
||||
<LI><A HREF="g4setupb.html#lbcomment">Comment: </A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A>@ref ssg4setup2 </A>
|
||||
<UL>
|
||||
<LI><A><A HREF="g4setupc.html#g4safe">Safest way</A>
|
||||
<LI><A HREF="g4setupc.html#g4manual">Manual way</A>
|
||||
<LI><A HREF="g4setupc.html#g4compile">Compile Geant4:</A>
|
||||
</UL>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
|
||||
|
||||
|
||||
*/
|
153
geant4/LEMuSR/doc/g4setupb.dox
Normal file
@ -0,0 +1,153 @@
|
||||
/*! @page g4setupb Geant4 Installation
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref sg4setup
|
||||
<B> Up:</B> @ref g4setup
|
||||
<B> Next:</B> @ref ssg4setup2
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section ssg4setup Additionnal Libraries
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="#lbclhep">CLHEP:</A>
|
||||
<LI><A HREF="#lbmesa">Mesa/OpenGL:</A>
|
||||
<LI><A HREF="g4setupb.html#lbvrml">VRML:</A>
|
||||
<LI><A HREF="#lbdawn">Dawn (optionnal): </A>
|
||||
<LI><A HREF="#lbroot">Root: </A>
|
||||
<LI><A HREF="#lbcomment">Comment: </A>
|
||||
</UL>
|
||||
|
||||
As many environment variables will have to be set, it is better to create a script file which would collect all of them. Let us refer at it as the SetEnv.sh script file. One can also copy the environment variables directly in the bash_profile, but it is more clear to have them separately. Each time one would start a work on the simulation one should first execute the SetEnv.sh script.
|
||||
|
||||
|
||||
\anchor lbclhep
|
||||
<H3><A>CLHEP:</A>
|
||||
|
||||
</H3> The class libraries for high energy physics can be downloaded from the <A HREF="http://www.cern.ch/clhep">CLHEP website</A>. The installation is well detailled on the web. For the version we used the installation procedure can be described as follow
|
||||
|
||||
|
||||
*-# Download a
|
||||
<A HREF="http://www.cern.ch/clhep">clhep-version.tar.gz</A> file. Recommended: http://cern.ch/clhep/clhep-1.9.1.2.tgz because the 2.0.x.x release are not yet perfectly working.
|
||||
*-# Create a directory CLHEP-VERSION/ and copy the clhep-version.tar.gz file in it.
|
||||
*-# Untar and unzip the file with <pre>tar -xzfv clhep-version</pre>
|
||||
*-# Create a work directory CLHEP out of the source directory, for example /home/user/CLHEP
|
||||
*-# Go to CLHEP-VERSION/CLHEP directory and execute the following commands:
|
||||
<PRE>
|
||||
./configure --prefix=/home/user/CLHEP
|
||||
</PRE>
|
||||
(Note that files will be installed under /usr/local if you do not
|
||||
specify a prefix.)
|
||||
<PRE>
|
||||
make
|
||||
</PRE>
|
||||
(Build temporary copies of libraries and executables.)
|
||||
<PRE>
|
||||
make check
|
||||
</PRE>
|
||||
(Run the tests.)
|
||||
<PRE>
|
||||
make install
|
||||
</PRE>
|
||||
(Copy libraries, headers, executables, etc. to relevant
|
||||
subdirectories under .)
|
||||
*-# \anchor clheplibs <a>Set environement variable</a> to indicate where the libraries are located, and the reference name of the library. <a>To access the correct values, execute the following</a>
|
||||
<pre>
|
||||
cd CLHEP/bin
|
||||
./clheplib
|
||||
</pre>
|
||||
add the CLHEP/lib directory to the list of library paths (e.g)
|
||||
<PRE>
|
||||
export LD_LIBRARY_PATH=:$LD_LIBRARY_PATH:/home/user/CLHEP/lib
|
||||
</PRE>
|
||||
and export the name of the library (e.g)
|
||||
<PRE>
|
||||
export CLHEP_LIB=CLHEP-1.9.1.2
|
||||
</PRE>
|
||||
Also set
|
||||
<PRE>
|
||||
export CLHEP_BASE_DIR=/home/user/CLHEP/
|
||||
</PRE>
|
||||
It is recommended to set those variables in the SetEnv.sh file, which would be dedicated to store and set all the environment variables of the simulation. It is important execute it before the compilation of \gf, which <a>needs</a> to have those variables set to run.
|
||||
|
||||
Geant4 can support many visualisation application and the user is free to chose the one which he prefers to use.
|
||||
|
||||
NB: When one has no root privileges, it is better to create a directory "CLHEP" appart the directory "CLHEP-version" where the downloaded file is extracted. The bin and libraries will be then store in the "CLHEP" directory. The same procedure is used below.
|
||||
|
||||
\anchor lbmesa
|
||||
<H3><A>MesaGL/OpenGL:</A></H3>
|
||||
For the visualisation in three dimensions engine is required. The usual engine is OpenGL and one should check that it is correctly installed on the system. If not, Mesa is a free engine that can be downloaded easily, together with a demos package, at <A
|
||||
HREF="www.mesa3d.org">Mesa3D</A> website. The instalation is done as follow
|
||||
|
||||
<OL>
|
||||
<LI>Go to the top directory of Mesa and execute the command
|
||||
<PRE>
|
||||
make linux-x86
|
||||
</PRE>
|
||||
(or the name of the system configuration)
|
||||
</LI>
|
||||
<LI>Update the library environnement variable with the Mesa/lib directory
|
||||
<PRE>
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/Mesa/lib
|
||||
</PRE>
|
||||
</LI>
|
||||
<LI>The demos are installed in the Mesa/progs/demos directory, and one can run one of them to test if Mesa is well installed.
|
||||
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
\anchor lbvrml
|
||||
<H3><A>VRML virtual reality module:</A></H3>
|
||||
Geant4 can export the geometry in the virtual reality modeling language (VRML) format. The <a href="http://freewrl.sourceforge.net/">freewrl</a> VRML viewer can be installed as a web browser plugin or ran in stand alone mode by a script.
|
||||
|
||||
First one should download <a href="http://www.freetype.org/index2.html">freetype</a> which is a nice font software used by <a href="http://freewrl.sourceforge.net/">freewrl</a>. It not present on the computer, <a href="http://www.freetype.org/index2.html">download it</a>, untar, create a "/home/user/freetype directory and enter the following commands in the code directory freetype-version:
|
||||
*- ./configure /home/user/freetype (or /usr/local, or the directory to output the libraries)
|
||||
*- make
|
||||
*- make install (for root privilege only, otherwise use the standalone script.)
|
||||
*.
|
||||
Then download <a href="http://freewrl.sourceforge.net/">freewrl</a> and open the INSTALL.HTML file. The installation is done in three steps:
|
||||
* - Edit vrml.conf and adjust it to the system, in particular the output libraries directory can be set to /home/user/freewrl (for example) and the freetype2 libraries directory might be corrected. Moreover the lines refering to Java application could be commented out.
|
||||
* - perl Makefile.PL
|
||||
* - make install
|
||||
*.
|
||||
Note that the library <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libjs.so">libjs.so</a> shall be downloaded if necessary. It can be copied in the freewrl-version/blib/arch/auto/VRML/JS/ directory.
|
||||
If one does not have the root privileges one can simply use the
|
||||
runme-standalone script. It is however a bit less efficient.
|
||||
|
||||
A better application is <a href="http://sourceforge.net/projects/openvrml/">OPEN VRML</a>.
|
||||
*- ./configure /home/user/OpenVRML
|
||||
*- make
|
||||
*- make check
|
||||
*- make install
|
||||
|
||||
|
||||
|
||||
\anchor lbdawn
|
||||
<H3><A>DAWN:</A></H3>
|
||||
Danw is a usefull application, whih allow to generate *.eps files from three dimensional OpenGL pictures. The installation is done easily following the <A HREF="http://geant4.slac.stanford.edu/g4cd/March2004/Documentation/Visualization/G4DAWNTutorial/G4DAWNTutorial.html#applicationrun">danw</A> tutorial website intructions. The following environment variables should be defined:
|
||||
<PRE>
|
||||
export G4DAWN_NAMED_PIPE=1
|
||||
export G4DAWN_GUI_ALWAYS=1
|
||||
export G4DAWN_GUI_ALWAYS=1
|
||||
export G4VIS_USE_DAWN=1
|
||||
export G4DAWN_NAMED_PIPE=1
|
||||
export DAWN_PS_PREVIEWER=/usr/X11R6/bin/gv
|
||||
</PRE>
|
||||
|
||||
\anchor lbroot
|
||||
<H3><A>ROOT:</A></H3>
|
||||
For histogramming and generating ntuples or trees, Root is probably the most convenient tool. It also provides a convenient interface and the manipulation and fitting of histograms are some of it's important feaures. An comprehensive documentation is available in the <A
|
||||
HREF="http://root.cern.ch/">web page</A>. The LEMuSR simulation requires Root to be installed.
|
||||
|
||||
|
||||
|
||||
|
||||
\anchor lbcomment
|
||||
<H3><A>Comment:</A></H3>
|
||||
The new environement variables can be define in the bash file for example, in order to have them defined by default for any logging.
|
||||
|
||||
<P>
|
||||
Those libraries come with many tests and it's is <B><I>recommended</I></B> to run some of them before going any further.
|
||||
<
|
||||
*/
|
153
geant4/LEMuSR/doc/g4setupb.dox~
Normal file
@ -0,0 +1,153 @@
|
||||
/*! @page g4setupb Geant4 Installation
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref sg4setup
|
||||
<B> Up:</B> @ref g4setup
|
||||
<B> Next:</B> @ref ssg4setup2
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section ssg4setup Additionnal Libraries
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="#lbclhep">CLHEP:</A>
|
||||
<LI><A HREF="#lbmesa">Mesa/OpenGL:</A>
|
||||
<LI><A HREF="g4setupb.html#lbvrml">VRML:</A>
|
||||
<LI><A HREF="#lbdawn">Dawn (optionnal): </A>
|
||||
<LI><A HREF="#lbroot">Root: </A>
|
||||
<LI><A HREF="#lbcomment">Comment: </A>
|
||||
</UL>
|
||||
|
||||
As many environment variables will have to be set, it is better to create a script file which would collect all of them. Let us refer at it as the SetEnv.sh script file. One can also copy the environment variables directly in the bash_profile, but it is more clear to have them separately. Each time one would start a work on the simulation one should first execute the SetEnv.sh script.
|
||||
|
||||
|
||||
\anchor lbclhep
|
||||
<H3><A>CLHEP:</A>
|
||||
|
||||
</H3> The class libraries for high energy physics can be downloaded from the <A HREF="http://www.cern.ch/clhep">CLHEP website</A>. The installation is well detailled on the web. For the version we used the installation procedure can be described as follow
|
||||
|
||||
|
||||
*-# Download a
|
||||
<A HREF="http://www.cern.ch/clhep">clhep-version.tar.gz</A> file. Recommended: http://cern.ch/clhep/clhep-1.9.1.2.tgz because the 2.0.x.x release are not yet perfectly working.
|
||||
*-# Create a directory CLHEP-VERSION/ and copy the clhep-version.tar.gz file in it.
|
||||
*-# Untar and unzip the file with <pre>tar -xzfv clhep-version</pre>
|
||||
*-# Create a work directory CLHEP out of the source directory, for example /home/user/CLHEP
|
||||
*-# Go to CLHEP-VERSION/CLHEP directory and execute the following commands:
|
||||
<PRE>
|
||||
./configure --prefix=/home/user/CLHEP
|
||||
</PRE>
|
||||
(Note that files will be installed under /usr/local if you do not
|
||||
specify a prefix.)
|
||||
<PRE>
|
||||
make
|
||||
</PRE>
|
||||
(Build temporary copies of libraries and executables.)
|
||||
<PRE>
|
||||
make check
|
||||
</PRE>
|
||||
(Run the tests.)
|
||||
<PRE>
|
||||
make install
|
||||
</PRE>
|
||||
(Copy libraries, headers, executables, etc. to relevant
|
||||
subdirectories under .)
|
||||
*-# \anchor clheplibs <a>Set environement variable</a> to indicate where the libraries are located, and the reference name of the library. <a>To access the correct values, execute the following</a>
|
||||
<pre>
|
||||
cd CLHEP/bin
|
||||
./clheplib
|
||||
</pre>
|
||||
add the CLHEP/lib directory to the list of library paths (e.g)
|
||||
<PRE>
|
||||
export LD_LIBRARY_PATH=:$LD_LIBRARY_PATH:/home/user/CLHEP/lib
|
||||
</PRE>
|
||||
and export the name of the library (e.g)
|
||||
<PRE>
|
||||
export CLHEP_LIB=CLHEP-1.9.1.2
|
||||
</PRE>
|
||||
Also set
|
||||
<PRE>
|
||||
export CLHEP_BASE_DIR=/home/user/CLHEP/
|
||||
</PRE>
|
||||
It is recommended to set those variables in the SetEnv.sh file, which would be dedicated to store and set all the environment variables of the simulation. It is important execute it before the compilation of \gf, which <a>needs</a> to have those variables set to run.
|
||||
|
||||
Geant4 can support many visualisation application and the user is free to chose the one which he prefers to use.
|
||||
|
||||
NB: When one has no root privileges, it is better to create a directory "CLHEP" appart the directory "CLHEP-version" where the downloaded file is extracted. The bin and libraries will be then store in the "CLHEP" directory. The same procedure is used below.
|
||||
|
||||
\anchor lbmesa
|
||||
<H3><A>MesaGL/OpenGL:</A></H3>
|
||||
For the visualisation in three dimensions engine is required. The usual engine is OpenGL and one should check that it is correctly installed on the system. If not, Mesa is a free engine that can be downloaded easily, together with a demos package, at <A
|
||||
HREF="www.mesa3d.org">Mesa3D</A> website. The instalation is done as follow
|
||||
|
||||
<OL>
|
||||
<LI>Go to the top directory of Mesa and execute the command
|
||||
<PRE>
|
||||
make linux-x86
|
||||
</PRE>
|
||||
(or the name of the system configuration)
|
||||
</LI>
|
||||
<LI>Update the library environnement variable with the Mesa/lib directory
|
||||
<PRE>
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/Mesa/lib
|
||||
</PRE>
|
||||
</LI>
|
||||
<LI>The demos are installed in the Mesa/progs/demos directory, and one can run one of them to test if Mesa is well installed.
|
||||
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
\anchor lbvrml
|
||||
<H3><A>VRML virtual reality module:</A></H3>
|
||||
Geant4 can export the geometry in the virtual reality modeling language (VRML) format. The <a href="http://freewrl.sourceforge.net/">freewrl</a> VRML viewer can be installed as a web browser plugin or ran in stand alone mode by a script.
|
||||
|
||||
First one should download <a href="http://www.freetype.org/index2.html">freetype</a> which is a nice font software used by <a href="http://freewrl.sourceforge.net/">freewrl</a>. It not present on the computer, <a href="http://www.freetype.org/index2.html">download it</a>, untar, create a "/home/user/freetype directory and enter the following commands in the code directory freetype-version:
|
||||
*- ./configure /home/user/freetype (or /usr/local, or the directory to output the libraries)
|
||||
*- make
|
||||
*- make install (for root privilege only, otherwise use the standalone script.)
|
||||
*.
|
||||
Then download <a href="http://freewrl.sourceforge.net/">freewrl</a> and open the INSTALL.HTML file. The installation is done in three steps:
|
||||
* - Edit vrml.conf and adjust it to the system, in particular the output libraries directory can be set to /home/user/freewrl (for example) and the freetype2 libraries directory might be corrected. Moreover the lines refering to Java application could be commented out.
|
||||
* - perl Makefile.PL
|
||||
* - make install
|
||||
*.
|
||||
Note that the library <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libjs.so">libjs.so</a> shall be downloaded if necessary. It can be copied in the freewrl-version/blib/arch/auto/VRML/JS/ directory.
|
||||
If one does not have the root privileges one can simply use the
|
||||
runme-standalone script. It is however a bit less efficient.
|
||||
|
||||
A better application is <a href="http://sourceforge.net/projects/openvrml/">OPEN VRML</a>.
|
||||
*- ./configure /home/user/OpenVRML
|
||||
*- make
|
||||
*- make check
|
||||
*- make install
|
||||
|
||||
|
||||
|
||||
\anchor lbdawn
|
||||
<H3><A>DAWN:</A></H3>
|
||||
Danw is a usefull application, whih allow to generate *.eps files from three dimensional OpenGL pictures. The installation is done easily following the <A HREF="http://geant4.slac.stanford.edu/g4cd/March2004/Documentation/Visualization/G4DAWNTutorial/G4DAWNTutorial.html#applicationrun">danw</A> tutorial website intructions. The following environment variables should be defined:
|
||||
<PRE>
|
||||
export G4DAWN_NAMED_PIPE=1
|
||||
export G4DAWN_GUI_ALWAYS=1
|
||||
export G4DAWN_GUI_ALWAYS=1
|
||||
export G4VIS_USE_DAWN=1
|
||||
export G4DAWN_NAMED_PIPE=1
|
||||
export DAWN_PS_PREVIEWER=/usr/X11R6/bin/gv
|
||||
</PRE>
|
||||
|
||||
\anchor lbroot
|
||||
<H3><A>ROOT:</A></H3>
|
||||
For histogramming and generating ntuples or trees, Root is probably the most convenient tool. It also provides a convenient interface and the manipulation and fitting of histograms are some of it's important feaures. An comprehensive documentation is available in the <A
|
||||
HREF="http://root.cern.ch/">web page</A>. The LEMuSR simulation requires Root to be installed.
|
||||
|
||||
|
||||
|
||||
|
||||
\anchor lbcomment
|
||||
<H3><A>Comment:</A></H3>
|
||||
The new environement variables can be define in the bash file for example, in order to have them defined by default for any logging.
|
||||
|
||||
<P>
|
||||
Those libraries come with many tests and it's is <B><I>recommended</I></B> to run some of them before going any further.
|
||||
<
|
||||
*/
|
66
geant4/LEMuSR/doc/g4setupc.dox
Normal file
@ -0,0 +1,66 @@
|
||||
/*! @page g4setupc Geant4 Installation
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref ssg4setup
|
||||
<B> Up:</B> @ref g4setup
|
||||
<B> Next:</B> @ref lemusetup
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section ssg4setup2 Geant4 Compilation
|
||||
|
||||
<UL>
|
||||
<LI><A><A HREF="#g4safe">Safest way</A>
|
||||
<LI><A HREF="#g4manual">Manual way</A>
|
||||
<LI><A HREF="#g4compile">Compile Geant4:</A>
|
||||
</UL>
|
||||
|
||||
|
||||
\anchor g4safe
|
||||
<H4><A>Safest way:</A></H4>
|
||||
The safest way is to execute the automatic installation by using the configure shell script. One should go to the geant4.version/ directory and first build the libraries. Type
|
||||
<PRE>
|
||||
./Configure -build
|
||||
</PRE>
|
||||
and follow the instructions. Each question must be answered <B><I>very carefully</I></B> in order to get a good configuration<A HREF="http://hep.ucsb.edu/people/joel/geant4.html"><SUP>tip</SUP></A>.
|
||||
|
||||
Before going any further, make sure that the @ref clheplibs "CLHEP environment variables" are properly set. Remember that the values of the library directory and name can be obtained by entering <tt>./clheplib</tt> in <tt>CLHEP/bin</tt>.
|
||||
The environment variables for the visualization drivers shall also be set at this point.
|
||||
Finally, it is recommended to run the script <tt>geant4.version/.config/bin/Linux-g++/env.sh</tt> as a confirmation (it should have been ran automatically after the configuration script of the previous command).
|
||||
Then execute
|
||||
<PRE>
|
||||
./Configure -install
|
||||
</PRE>
|
||||
And compile the source code
|
||||
<PRE>
|
||||
cd geant4.version/source
|
||||
gmake
|
||||
</PRE>
|
||||
The \gf code is now ready to use and one can compile an example to check that it runs correctly.
|
||||
|
||||
It is usefull to launch the \gf environment variables script <tt>geant4.version/.config/bin/Linux-g++/env.sh</tt> via the SetEnv.sh script.
|
||||
|
||||
|
||||
\anchor g4manual
|
||||
<H4><A>Manual way:</A></H4>
|
||||
First, some environement variables must be set (for example):
|
||||
<PRE>
|
||||
export G4INSTALL=/home/user/geant4.version
|
||||
export G4SYSTEM=Linux-g++ (for example)
|
||||
export CLHEP\_BASE\_DIR=/home/user/CLHEP
|
||||
</PRE>
|
||||
Then the other variables should be set executing the $G4INSTALL/Configure file.
|
||||
|
||||
<P>
|
||||
Changes of the configuration can be done directly, editing the config.sh file which is located in the $G4INSTALL/.config/bin/Linux-g++ directory.
|
||||
After modification, this executed in order to prepare the compilation.
|
||||
|
||||
|
||||
\anchor g4compile
|
||||
<H4><A>Compile Geant4:</A></H4>
|
||||
The compilation is launched by the command $G4INSTALL/source/gmake.
|
||||
|
||||
|
||||
|
||||
*/
|
66
geant4/LEMuSR/doc/g4setupc.dox~
Normal file
@ -0,0 +1,66 @@
|
||||
/*! @page g4setupc Geant4 Installation
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref ssg4setup
|
||||
<B> Up:</B> @ref g4setup
|
||||
<B> Next:</B> @ref lemusetup
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section ssg4setup2 Geant4 Compilation
|
||||
|
||||
<UL>
|
||||
<LI><A><A HREF="#g4safe">Safest way</A>
|
||||
<LI><A HREF="#g4manual">Manual way</A>
|
||||
<LI><A HREF="#g4compile">Compile Geant4:</A>
|
||||
</UL>
|
||||
|
||||
|
||||
\anchor g4safe
|
||||
<H4><A>Safest way:</A></H4>
|
||||
The safest way is to execute the automatic installation by using the configure shell script. One should go to the geant4.version/ directory and first build the libraries. Type
|
||||
<PRE>
|
||||
./Configure -build
|
||||
</PRE>
|
||||
and follow the instructions. Each question must be answered <B><I>very carefully</I></B> in order to get a good configuration<A HREF="http://hep.ucsb.edu/people/joel/geant4.html"><SUP>tip</SUP></A>.
|
||||
|
||||
Before going any further, make sure that the @ref clheplibs "CLHEP environment variables" are properly set. Remember that the values of the library directory and name can be obtained by entering <tt>./clheplib</tt> in <tt>CLHEP/bin</tt>.
|
||||
The environment variables for the visualization drivers shall also be set at this point.
|
||||
Finally, it is recommended to run the script <tt>geant4.version/.config/bin/Linux-g++/env.sh</tt> as a confirmation (it should have been ran automatically after the configuration script of the previous command).
|
||||
Then execute
|
||||
<PRE>
|
||||
./Configure -install
|
||||
</PRE>
|
||||
And compile the source code
|
||||
<PRE>
|
||||
cd geant4.version/source
|
||||
gmake
|
||||
</PRE>
|
||||
The \gf code is now ready to use and one can compile an example to check that it runs correctly.
|
||||
|
||||
It is usefull to launch the \gf environment variables script <tt>geant4.version/.config/bin/Linux-g++/env.sh</tt> via the SetEnv.sh script.
|
||||
|
||||
|
||||
\anchor g4manual
|
||||
<H4><A>Manual way:</A></H4>
|
||||
First, some environement variables must be set (for example):
|
||||
<PRE>
|
||||
export G4INSTALL=/home/user/geant4.version
|
||||
export G4SYSTEM=Linux-g++ (for example)
|
||||
export CLHEP\_BASE\_DIR=/home/user/CLHEP
|
||||
</PRE>
|
||||
Then the other variables should be set executing the $G4INSTALL/Configure file.
|
||||
|
||||
<P>
|
||||
Changes of the configuration can be done directly, editing the config.sh file which is located in the $G4INSTALL/.config/bin/Linux-g++ directory.
|
||||
After modification, this executed in order to prepare the compilation.
|
||||
|
||||
|
||||
\anchor g4compile
|
||||
<H4><A>Compile Geant4:</A></H4>
|
||||
The compilation is launched by the command $G4INSTALL/source/gmake.
|
||||
|
||||
|
||||
|
||||
*/
|
396
geant4/LEMuSR/doc/geometry.dox
Normal file
@ -0,0 +1,396 @@
|
||||
/*! @page geometry The Detector Construction
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref runmgr
|
||||
<B> Up:</B> @ref Mandatory
|
||||
<B> Next:</B> @ref geometry2 "Description of the geometry "
|
||||
<BR>
|
||||
|
||||
\section geo_implement Implementation of the geometry
|
||||
The detector construction class is the virtual class for the geometry definition. To implement a geometry, one has to provide the dimensions, a material, a position and different attributes for each element of the detector. Practicaly, the implementation consists in the definition of three types of volumes, which are organized according to the following hierarchy:
|
||||
* -# a <b>solid volume</b>: it is the definition of the shape of the volume, for example a cone, a sphere or a cylinder (etc.) together with its dimensions. The solid volume can be the result of a boolean operation (addition, subtraction).
|
||||
* -# a <b>logical volume</b>: it is a solid volume plus a material and other attributes like
|
||||
* - a field manager e.g. for applying an electromagnetic field in the volume,
|
||||
* - the visualization parameters as color, transparency etc.
|
||||
* - a sensitive detector object for monitoring the analysis of flying through particles,
|
||||
* - some "user limit" parameters for controling the step size or the minimal energy of particles inside the volume.
|
||||
* The logical volume is indeed the volume which the simulation manager will be refering to for all logical operations during the run.
|
||||
* -# a <b>physical volume</b>: it is a logical volume with its final position and orientation (spacial conformal transformation) in a so-called mother logical volume. That means, if we have for example a cylinder of the third lens, its position is defined in relation with the vacuum volume of the third chamber logical volume, which itself is converted into a physical volume by getting a position in the laboratory logical volume. It is then much more easier to handle relative positioning of the different detector elements. One would notice that only the laboratory volume (usually called World) is not given a position because it has no mother volume. Notice that a same logical volume can be used to define different physical volumes, as a same solid volume can be used to define different logical volumes.
|
||||
*.
|
||||
The following trsncript illustrates the construction of the scintillators.
|
||||
\code
|
||||
void LEMuSRDetectorConstruction::lemuSCINT()
|
||||
{
|
||||
|
||||
// solids
|
||||
SCIS_tube= new G4Tubs("sSCIS",9.0*cm,9.5*cm, 13.0*cm, -45*deg, +90*deg);
|
||||
SCOS_tube= new G4Tubs("sSCOS",9.6*cm,10.1*cm, 13.0*cm, -45*deg, +90*deg);
|
||||
|
||||
// materials
|
||||
SC_material= G4Material::GetMaterial("scint");
|
||||
|
||||
// logical
|
||||
lv_SCIS= new G4LogicalVolume(SCIS_tube,SC_material,"lv_SCIS",0,0,0);
|
||||
lv_SCOS= new G4LogicalVolume(SCOS_tube,SC_material,"lv_SCOS",0,0,0);
|
||||
|
||||
// physical
|
||||
rotation1=G4RotateZ3D(90*deg) ;
|
||||
rotation2=G4RotateZ3D(180*deg) ;
|
||||
rotation3=G4RotateZ3D(270*deg) ;
|
||||
|
||||
pv_SCISr = new G4PVPlacement( rotation2,lv_SCIS ,"pv_SCISr",lv_LABO, false, 0 );
|
||||
pv_SCOSr = new G4PVPlacement( rotation2,lv_SCOS ,"pv_SCOSr",lv_LABO, false, 0 );
|
||||
|
||||
|
||||
(...)
|
||||
|
||||
pv_SCISt = new G4PVPlacement( rotation1,lv_SCIS ,"pv_SCISt",lv_LABO, false, 0 );
|
||||
pv_SCOSt = new G4PVPlacement( rotation1,lv_SCOS ,"pv_SCOSt",lv_LABO, false, 0 );
|
||||
|
||||
pv_SCISl = new G4PVPlacement( 0 , G4ThreeVector(0 *cm,0 *cm, 0*cm),lv_SCIS ,"pv_SCISl",lv_LABO, false, 0 );
|
||||
pv_SCOSl = new G4PVPlacement( 0 , G4ThreeVector(0 *cm,0 *cm, 0*cm),lv_SCOS ,"pv_SCOSl",lv_LABO, false, 0 );
|
||||
|
||||
pv_SCISb = new G4PVPlacement( rotation3,lv_SCIS ,"pv_SCISb",lv_LABO, false, 0 );
|
||||
pv_SCOSb = new G4PVPlacement( rotation3,lv_SCOS ,"pv_SCOSb",lv_LABO, false, 0 );
|
||||
|
||||
(...)
|
||||
|
||||
// vis attributes
|
||||
lv_SCIS->SetVisAttributes(SCINT_style);
|
||||
lv_SCOS->SetVisAttributes(dSCINT_style);
|
||||
}
|
||||
\endcode
|
||||
|
||||
Different types of interfaces has been implemented for the geometry definition, as for example an XML interface. Further development of \gf will include CAD/\gf geometry conversion.
|
||||
|
||||
The code fo the detector construction was separate in three different files:
|
||||
* - LEMuSRDetectorConstruction.cc, which concerns all the geometry definition
|
||||
* - LEMuSRMaterials.cc, which contains the definition of the materials and the attributes
|
||||
* - LEMuSRdummydets.cc, which was used to draw dummy vacuum planes in the detector in order to get informations on particles at precise points. This file should be deleted in the future because one can simply use a limit on the step size (e.g. 1. cm) and use the stepping action to collect data at the end of each step.
|
||||
*.
|
||||
The advantage of writting the code in separate files is simply a gain of compilation time when a modification is done in one of the files.
|
||||
|
||||
|
||||
|
||||
\section geo_material The materials definition
|
||||
The definition of the materials and elements is a powerful feature of \gf. It is possible to define all kind of elements and materials with specific parameter. The code for the material definition can be found in the LEMuSRMaterials.cc file, which is no more than an extension of the LEMuSRDetectorConstructor.cc file.
|
||||
|
||||
The user can define elements giving a name, a symbol, an atomic number and an atomic mass. Then the defined elements can be used to define materials. In the following transcript we see how elements are defined:
|
||||
|
||||
\code
|
||||
|
||||
void LEMuSRDetectorConstruction :: MaterialsDefinition ()
|
||||
{
|
||||
|
||||
|
||||
|
||||
G4double a; // atomic mass
|
||||
G4double z; // atomic number
|
||||
G4double density; //
|
||||
G4String name, symbol; //
|
||||
G4int nbelements; // number of elements
|
||||
G4double fractionmass; // fractionnal mass - for mixtures
|
||||
|
||||
|
||||
|
||||
// ELEMENTS
|
||||
|
||||
// definition hydrogene
|
||||
a=1.01*g/mole;
|
||||
G4Element* H = new G4Element(name="hydrogen", symbol="H", z=1., a);
|
||||
|
||||
// definition boron
|
||||
a=10.811*g/mole;
|
||||
G4Element* B = new G4Element(name="boron", symbol="B", z=5., a);
|
||||
|
||||
(...)
|
||||
|
||||
\endcode
|
||||
Then using those elements it is possible to define material and gases:
|
||||
\code
|
||||
// MATERIALS
|
||||
|
||||
// definition : composition de Air
|
||||
density=1.290*mg/cm3;
|
||||
G4Material* Air= new G4Material(name="Air", density,nbelements=2);
|
||||
Air->AddElement (N, fractionmass=0.7);//fractionmass=G4double
|
||||
Air->AddElement (O, fractionmass=0.3);//fractionmass=G4double
|
||||
|
||||
density= 2.376e-15*g/cm3;
|
||||
G4double temperature= 300*kelvin;
|
||||
G4double pressure= 3.0e-9*pascal;
|
||||
G4Material* vacuum = new G4Material(name="vacuum", density, nbelements=1,
|
||||
kStateGas,temperature,pressure);
|
||||
vacuum-> AddMaterial(Air, fractionmass= 1.);
|
||||
|
||||
//definition H2O=
|
||||
density = 1.000*g/cm3;
|
||||
G4Material* H2O = new G4Material(name="H2O", density, 2);
|
||||
H2O->AddElement (H, nbelements=2);//nbelements=G4int
|
||||
H2O->AddElement (O, nbelements=1);//nbelements=G4int
|
||||
|
||||
(...)
|
||||
|
||||
// definition material 'tungsten'
|
||||
density =19.250*g/cm3;
|
||||
G4Material* tungsten = new G4Material("tungsten",density,1);
|
||||
tungsten->AddElement(W,1);
|
||||
|
||||
|
||||
// definition : composition of Graphite
|
||||
density=2.*g/cm3;
|
||||
G4Material* graphite= new G4Material(name="graphite",density,1);
|
||||
graphite->AddElement (C,1);
|
||||
|
||||
(...)
|
||||
}
|
||||
\endcode
|
||||
|
||||
<b> Important remark:</b>
|
||||
* - The MaterialDefinition() method is called in the constructor of the LEMuSRDetectorConstruction class and not in the Contruct() method. The reason is that the materials table should be built only once; whereas the contructor is called only once, the Contruct() method is called at each modification of the detector.
|
||||
|
||||
* - Some dedicated pointers are declared in the @ref mat_def "header file" and instanciated in the method in charge to construct the different parts of the detector.
|
||||
\cd
|
||||
//====== MATERIAL DECLARATION =========================
|
||||
private:
|
||||
void MaterialsDefinition();
|
||||
//materials
|
||||
G4Material* SC_material;
|
||||
G4Material* SAH_material;
|
||||
G4Material* SAPH_material;
|
||||
G4Material* Scint_material;
|
||||
G4Material* DMCP_material;
|
||||
G4Material* Vacuum ;
|
||||
G4Material* SSteel ;
|
||||
G4Material* Copper ;
|
||||
G4Material* Macor ;
|
||||
G4Material* Carbon ;
|
||||
\ec
|
||||
The instanciation is done calling the GetMaterial() method. The most used elements (stainless steel and vacuum) are instanciated in the lemuDetector() method and the other in their respective methods.
|
||||
\cd
|
||||
G4VPhysicalVolume* LEMuSRDetectorConstruction::lemuDetector() // !attention au V dans G4VP...
|
||||
{
|
||||
|
||||
(...)
|
||||
// main materials
|
||||
|
||||
Vacuum = G4Material::GetMaterial("vacuum");
|
||||
SSteel = G4Material::GetMaterial("stainless_steel");
|
||||
//-------------------------------
|
||||
(...)
|
||||
}
|
||||
|
||||
|
||||
void LEMuSRDetectorConstruction:: lemuMCPdet()
|
||||
{
|
||||
|
||||
(...)
|
||||
|
||||
//materials
|
||||
|
||||
Macor = G4Material::GetMaterial("macor");
|
||||
DMCP_material = G4Material::GetMaterial("mcpglass");
|
||||
|
||||
// logicals volumes
|
||||
lv_DMCP = new G4LogicalVolume( DMCP_tube , DMCP_material ,"lv_DMCP",0,0,0);
|
||||
lv_MCPM = new G4LogicalVolume( MCPM_tube , Macor ,"lv_MCVR",0,0,0);
|
||||
lv_MCPA = new G4LogicalVolume( MCPA_box , SSteel ,"lv_MCPA",0,0,0);
|
||||
lv_ANVA = new G4LogicalVolume( ANVA_tube , Vacuum ,"lv_ANVA",0,0,0);
|
||||
(...)
|
||||
}
|
||||
\ec
|
||||
In this transcript we see that the vacuum and the stainless steel are not redefined in the submethods.
|
||||
|
||||
|
||||
\section geo_elmag Managing electromagnetic fields
|
||||
As stated previously, it is possible to assign a field to a logical volume. This is done in four steps:
|
||||
*-# Creating a field object using a virtual class or a field map
|
||||
*-# Instanciating a field manager
|
||||
*-# Providing the field manager with the field, the motion equation and the integrator stepper (Runge-Kutta, Heum...), the minimal step increment etc.
|
||||
*-# Assigning the field manager to the desired logical volume
|
||||
*.
|
||||
Different types of fields are virtually implemented in \gf, as well as the corresponding equations of motion. Anyway, for the \lemu simulation new classes were built in order to handle field maps generated by COMSOL multiphysics finite element solver.
|
||||
\cd
|
||||
void LEMuSRDetectorConstruction::lemuLinse3()
|
||||
{
|
||||
(...)
|
||||
if(elfield==1)
|
||||
{
|
||||
|
||||
G4ElectricField* L3Field = new LEMuSRElectricField(L3FieldVal,
|
||||
FieldMapsDir+"/ThirdLense/L3b.map"
|
||||
,"dm",-567,60,60,100);
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
L3FieldMgr = new G4FieldManager();//1
|
||||
|
||||
G4MagIntegratorStepper *pStepper;
|
||||
G4El_UsualEqRhs *fEquation = new G4El_UsualEqRhs(L3Field);
|
||||
|
||||
pStepper = new G4ClassicalRK4( fEquation, 12 );
|
||||
|
||||
// equation considers spin or not
|
||||
G4ChordFinder* pChordFinder = new G4ChordFinder( L3Field,
|
||||
1.e-10 * mm, // Minimum step size: must be very small for a precise calculation of transport energy
|
||||
pStepper);
|
||||
|
||||
L3FieldMgr->SetDetectorField(L3Field);
|
||||
L3FieldMgr->SetChordFinder(pChordFinder);
|
||||
|
||||
lv_L3VA = new G4LogicalVolume( L3VA_tube , Vacuum ,"lv_L3VA",L3FieldMgr,0,0);
|
||||
|
||||
}
|
||||
(...)
|
||||
}
|
||||
\ec
|
||||
This transcript shows how to declare the field map of the third lens. The directory of the field maps must be set via the environment variable <b><tt>LEMuSR_FIELDMAPS_DIR</tt></b>.
|
||||
|
||||
|
||||
\section geo_sensi Managing the sensitive detection
|
||||
\gf is well designed for modeling the sensitive detection. It features a virtual class for creating sensitive detectors. These are objects which are linked to a volume and which are called during the particle propagation to take specific actions implemented by the user. For example, the LEMuSRCryoSD class is responsible for monitoring the sensitive detection of particles entering the plates of the sample cryostat.
|
||||
|
||||
*/
|
||||
//------------------------------------------------------------
|
||||
/*! @page geometry2 The Detector Construction
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref geo_implement
|
||||
<B> Up:</B> @ref Mandatory
|
||||
<B> Next:</B> @ref physicsref
|
||||
<BR>
|
||||
\section geo_list Description of the geometry
|
||||
The \lemu detector consists of the last part of the spectrometer, from the trigger detector to the sample cryostat.
|
||||
|
||||
The top volume is the laboratory volume (World), which is a cubic air volume (2mx2mx4m).
|
||||
\image html det2.gif XZ projection view of the detector in the World volume.
|
||||
*
|
||||
\section geo_submethod The contruction methods
|
||||
For clarity reasons, the different parts of the detector are built by different methods. This allows a better control of the geometry and a better modularity. We also had to build different vacuum volumes because it is not possible to assign more than one field per volume. Hence, in LEMuSRDetectorConstruction.cc, on can see that the detector construction method is call other methods to construct different parts of the detector according to the following repartition:
|
||||
|
||||
* \subsection geo_labo Laboratory
|
||||
*- pv_LABO
|
||||
*
|
||||
* - <b><tt>lemuDetector()</tt></b>: constructs the Laboratory and calls the following methods.
|
||||
|
||||
* \subsection geo_trigger Trigger Detector and Chamber
|
||||
*- pv_Trigger: steel cylinder
|
||||
*- pv_TriggerV: vacuum
|
||||
*- pv_TriggerF1: flange
|
||||
*- pv_TriggerF2: flange
|
||||
*- pv_CFOIL: carbon foil
|
||||
*- pv_TriggerB: vacuum region with electric field
|
||||
*- pv_TriggerB2: vacuum region with electric field
|
||||
*- pv_TriggerB3: vacuum region with electric field
|
||||
*
|
||||
* - <b><tt>lemuTrigger_Detector()</tt></b>: builds the carbon foil, the vacuum volume, the steel cylinder and flanges around it and three vacuum volumes to introduce the electric fields. \image html trigger.gif Trigger detector carbon foil, electric field regions and vacuum chamber.
|
||||
|
||||
* \subsection geo_cgate Compensation Gate Chamber
|
||||
*- pv_CGateV: vacuum
|
||||
*- pv_CGate: steel cylinder
|
||||
*- pv_CGateF1: flange
|
||||
*- pv_CGateF2: flange
|
||||
*
|
||||
* - <b><tt>lemuCGate()</tt></b>: builds the compensation gate steel tube and the vacuum volume.
|
||||
|
||||
* \subsection geo_l3 Third Lense and Chamber
|
||||
*- pv_L3VA: vacuum
|
||||
*- pv_L3ST: steel cylinder
|
||||
*- pv_L3F1: flange
|
||||
*- pv_L3F2: flange
|
||||
*- pv_L3GP1: ground potential tube
|
||||
*- pv_L3GP2: "
|
||||
*- pv_L3GP3: "
|
||||
*- pv_L3GP4: "
|
||||
*- pv_L3GP5: "
|
||||
*- pv_L3GP6: "
|
||||
*- pv_L3GP7: "
|
||||
*- pv_L3GP8: "
|
||||
*- pv_L3HP: high potential tube
|
||||
*- pv_L3HP4: "
|
||||
*- pv_L3HP5: "
|
||||
*- pv_L3HP7: "
|
||||
*- pv_L3HP8: "
|
||||
*
|
||||
* - <b><tt>lemuLinse3()</tt></b>: builds the third lens, the vacuum volume and the tube around it. The electric field of the third lens is assigned to the vacuum volume. \im det_L3.gif Third lens and chamber.
|
||||
|
||||
* \subsection geo_mcp2 MCP2 and Gate Valve Chambers
|
||||
*- pv_MCPV: vacuum volume of the MCP2 chamber
|
||||
*- pv_MCPS: steel cylinder of MCP2 chamber
|
||||
*- pv_F100: end of the cylinder
|
||||
*- pv_F160: flange
|
||||
*- pv_F200: flange
|
||||
*- pv_GATV: additional vacuum volume in gate valve chamber (indeed, the radii of the gate valve and the mcp chambers are different)
|
||||
*- pv_GATS: steel cylinder for the gate valve chamber
|
||||
*
|
||||
* - <b><tt>lemuMCP2()</tt></b>: builds the gate valve tube and flanges, the cryostat chamber and flange and a vacuum volume for the gate valve and the sample cryostat region. Indeed, we have and overlap of the electric fields (ring anode, sample cryostat) and magnetic field (coils) in this region. For this volume we built a class for superimposing electric fields and a class for combining electric and magnetic fields.
|
||||
|
||||
* \subsection geo_ringanode RING ANODE
|
||||
*- pv_RA_E: left front conical part
|
||||
*- pv_RA_M: left rear conical part
|
||||
*- pv_RA_E2: right front conical part
|
||||
*- pv_RA_M2: right rear conical part
|
||||
*- pv_RA_G: cylinder part
|
||||
*
|
||||
* - <b><tt>lemuANODE()</tt></b>: builds the ring anode.\im det_mcpv.gif MCP2 and Gate Valve chamber, Ring Anode and MCP detector.
|
||||
|
||||
* \subsection geo_scint Inner and Outer Scintillators
|
||||
*- pv_SCISt: inner top scintillator
|
||||
*- pv_SCISb: inner bottom scintillator
|
||||
*- pv_SCISr: inner right scintillator
|
||||
*- pv_SCISl: inner left scintillator
|
||||
*- pv_SCOSt: outer top scintillator
|
||||
*- pv_SCOSb: outer bottom scintillator
|
||||
*- pv_SCOSr: ouer right scintillator
|
||||
*- pv_SCOSl: outer left scintillator
|
||||
*
|
||||
* - <b><tt>lemuSCINT()</tt></b>: builds the inner and outer scintillators.
|
||||
|
||||
* \subsection geo_mcpdet MCP2 Detector
|
||||
*- pv_DMPC: glass
|
||||
*- pv_MCPA: steel
|
||||
*- pv_MCPM: macor
|
||||
*- pv_MCPM2: macor
|
||||
*- pv_ANVA: vacuum
|
||||
*- pv_MCSR: vacuum
|
||||
*- pv_MCSR: steel
|
||||
*- pv_MCVR: vacuum
|
||||
*- pv_MCSS: steel
|
||||
*
|
||||
* - <b><tt>lemuMCPdet()</tt></b>: builds the MCP2 detector. \im det_mcp_scint.gif MCP2 detector and scintillators.
|
||||
|
||||
* \subsection geo_cryo CRYOSTAT
|
||||
*- pv_SAH1: sample holder 1
|
||||
*- pv_SAH2: sample holder 2
|
||||
*- pv_SAH3: sample holder 3 (not used)
|
||||
*- pv_SAPH: sapphire plate
|
||||
*- pv_COFI: cold finger tube
|
||||
*- pv_CRY1: cryostat
|
||||
*- pv_CRY2: cryostat
|
||||
*- pv_CRY3: cryostat
|
||||
*- pv_CRY4: cryostat
|
||||
*- pv_CRSH: He shield
|
||||
*- pv_CRSH2: front shield
|
||||
*- pv_Guard1: guard
|
||||
*- pv_Guard2: guard
|
||||
*
|
||||
* - <b><tt>lemuCryo()</tt></b>: builds the sample cryostat. \im det_cryo.gif Sample Cryostat.
|
||||
*.
|
||||
|
||||
* \subsection geo_emf Electromagnetic Fields
|
||||
The electromagnetic fields of the trigger and the third lense are build in their respective contruction methods. For the MCP2 region, the field is build by the method <b><tt>BuildAnodeField()</tt></b>, which will construct the electromagnetic field according to the user settings. In this region, it is possible to enable or disable the magnetic field, the electric field at the sample and the electric field of the ring anode. Two special classes, LEMuSRElFieldMix and LEMuSRElMagField, were specialy implemented in order to handle the superposition of two electric fields for the first one, and the superposition of an electric field and a magnetic field for the second one.
|
||||
|
||||
|
||||
\subsection geo_printlist Printing the Volumes List
|
||||
The list of all the volumes and their densities and masses can be printed during the simulation by entering the commands
|
||||
*
|
||||
* <b><tt>vis/ASCIITree/verbose x</tt></b> to set the level of details (\f$ 0 < x < 15 \f$ )
|
||||
*
|
||||
* <b><tt>vis/drawTree</tt></b>
|
||||
*
|
||||
|
||||
The commands list can be found in section \ref commands.
|
||||
|
||||
|
||||
|
||||
*/
|
396
geant4/LEMuSR/doc/geometry.dox~
Normal file
@ -0,0 +1,396 @@
|
||||
/*! @page geometry The Detector Construction
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref runmgr
|
||||
<B> Up:</B> @ref Mandatory
|
||||
<B> Next:</B> @ref geometry2 "Description of the geometry "
|
||||
<BR>
|
||||
|
||||
\section geo_implement Implementation of the geometry
|
||||
The detector construction class is the virtual class for the geometry definition. To implement a geometry, one has to provide the dimensions, a material, a position and different attributes for each element of the detector. Practicaly, the implementation consists in the definition of three types of volumes, which are organized according to the following hierarchy:
|
||||
* -# a <b>solid volume</b>: it is the definition of the shape of the volume, for example a cone, a sphere or a cylinder (etc.) together with its dimensions. The solid volume can be the result of a boolean operation (addition, subtraction).
|
||||
* -# a <b>logical volume</b>: it is a solid volume plus a material and other attributes like
|
||||
* - a field manager e.g. for applying an electromagnetic field in the volume,
|
||||
* - the visualization parameters as color, transparency etc.
|
||||
* - a sensitive detector object for monitoring the analysis of flying through particles,
|
||||
* - some "user limit" parameters for controling the step size or the minimal energy of particles inside the volume.
|
||||
* The logical volume is indeed the volume which the simulation manager will be refering to for all logical operations during the run.
|
||||
* -# a <b>physical volume</b>: it is a logical volume with its final position and orientation (spacial conformal transformation) in a so-called mother logical volume. That means, if we have for example a cylinder of the third lens, its position is defined in relation with the vacuum volume of the third chamber logical volume, which itself is converted into a physical volume by getting a position in the laboratory logical volume. It is then much more easier to handle relative positioning of the different detector elements. One would notice that only the laboratory volume (usually called World) is not given a position because it has no mother volume. Notice that a same logical volume can be used to define different physical volumes, as a same solid volume can be used to define different logical volumes.
|
||||
*.
|
||||
The following trsncript illustrates the construction of the scintillators.
|
||||
\code
|
||||
void LEMuSRDetectorConstruction::lemuSCINT()
|
||||
{
|
||||
|
||||
// solids
|
||||
SCIS_tube= new G4Tubs("sSCIS",9.0*cm,9.5*cm, 13.0*cm, -45*deg, +90*deg);
|
||||
SCOS_tube= new G4Tubs("sSCOS",9.6*cm,10.1*cm, 13.0*cm, -45*deg, +90*deg);
|
||||
|
||||
// materials
|
||||
SC_material= G4Material::GetMaterial("scint");
|
||||
|
||||
// logical
|
||||
lv_SCIS= new G4LogicalVolume(SCIS_tube,SC_material,"lv_SCIS",0,0,0);
|
||||
lv_SCOS= new G4LogicalVolume(SCOS_tube,SC_material,"lv_SCOS",0,0,0);
|
||||
|
||||
// physical
|
||||
rotation1=G4RotateZ3D(90*deg) ;
|
||||
rotation2=G4RotateZ3D(180*deg) ;
|
||||
rotation3=G4RotateZ3D(270*deg) ;
|
||||
|
||||
pv_SCISr = new G4PVPlacement( rotation2,lv_SCIS ,"pv_SCISr",lv_LABO, false, 0 );
|
||||
pv_SCOSr = new G4PVPlacement( rotation2,lv_SCOS ,"pv_SCOSr",lv_LABO, false, 0 );
|
||||
|
||||
|
||||
(...)
|
||||
|
||||
pv_SCISt = new G4PVPlacement( rotation1,lv_SCIS ,"pv_SCISt",lv_LABO, false, 0 );
|
||||
pv_SCOSt = new G4PVPlacement( rotation1,lv_SCOS ,"pv_SCOSt",lv_LABO, false, 0 );
|
||||
|
||||
pv_SCISl = new G4PVPlacement( 0 , G4ThreeVector(0 *cm,0 *cm, 0*cm),lv_SCIS ,"pv_SCISl",lv_LABO, false, 0 );
|
||||
pv_SCOSl = new G4PVPlacement( 0 , G4ThreeVector(0 *cm,0 *cm, 0*cm),lv_SCOS ,"pv_SCOSl",lv_LABO, false, 0 );
|
||||
|
||||
pv_SCISb = new G4PVPlacement( rotation3,lv_SCIS ,"pv_SCISb",lv_LABO, false, 0 );
|
||||
pv_SCOSb = new G4PVPlacement( rotation3,lv_SCOS ,"pv_SCOSb",lv_LABO, false, 0 );
|
||||
|
||||
(...)
|
||||
|
||||
// vis attributes
|
||||
lv_SCIS->SetVisAttributes(SCINT_style);
|
||||
lv_SCOS->SetVisAttributes(dSCINT_style);
|
||||
}
|
||||
\endcode
|
||||
|
||||
Different types of interfaces has been implemented for the geometry definition, as for example an XML interface. Further development of \gf will include CAD/\gf geometry conversion.
|
||||
|
||||
The code fo the detector construction was separate in three different files:
|
||||
* - LEMuSRDetectorConstruction.cc, which concerns all the geometry definition
|
||||
* - LEMuSRMaterials.cc, which contains the definition of the materials and the attributes
|
||||
* - LEMuSRdummydets.cc, which was used to draw dummy vacuum planes in the detector in order to get informations on particles at precise points. This file should be deleted in the future because one can simply use a limit on the step size (e.g. 1. cm) and use the stepping action to collect data at the end of each step.
|
||||
*.
|
||||
The advantage of writting the code in separate files is simply a gain of compilation time when a modification is done in one of the files.
|
||||
|
||||
|
||||
|
||||
\section geo_material The materials definition
|
||||
The definition of the materials and elements is a powerful feature of \gf. It is possible to define all kind of elements and materials with specific parameter. The code for the material definition can be found in the LEMuSRMaterials.cc file, which is no more than an extension of the LEMuSRDetectorConstructor.cc file.
|
||||
|
||||
The user can define elements giving a name, a symbol, an atomic number and an atomic mass. Then the defined elements can be used to define materials. In the following transcript we see how elements are defined:
|
||||
|
||||
\code
|
||||
|
||||
void LEMuSRDetectorConstruction :: MaterialsDefinition ()
|
||||
{
|
||||
|
||||
|
||||
|
||||
G4double a; // atomic mass
|
||||
G4double z; // atomic number
|
||||
G4double density; //
|
||||
G4String name, symbol; //
|
||||
G4int nbelements; // number of elements
|
||||
G4double fractionmass; // fractionnal mass - for mixtures
|
||||
|
||||
|
||||
|
||||
// ELEMENTS
|
||||
|
||||
// definition hydrogene
|
||||
a=1.01*g/mole;
|
||||
G4Element* H = new G4Element(name="hydrogen", symbol="H", z=1., a);
|
||||
|
||||
// definition boron
|
||||
a=10.811*g/mole;
|
||||
G4Element* B = new G4Element(name="boron", symbol="B", z=5., a);
|
||||
|
||||
(...)
|
||||
|
||||
\endcode
|
||||
Then using those elements it is possible to define material and gases:
|
||||
\code
|
||||
// MATERIALS
|
||||
|
||||
// definition : composition de Air
|
||||
density=1.290*mg/cm3;
|
||||
G4Material* Air= new G4Material(name="Air", density,nbelements=2);
|
||||
Air->AddElement (N, fractionmass=0.7);//fractionmass=G4double
|
||||
Air->AddElement (O, fractionmass=0.3);//fractionmass=G4double
|
||||
|
||||
density= 2.376e-15*g/cm3;
|
||||
G4double temperature= 300*kelvin;
|
||||
G4double pressure= 3.0e-9*pascal;
|
||||
G4Material* vacuum = new G4Material(name="vacuum", density, nbelements=1,
|
||||
kStateGas,temperature,pressure);
|
||||
vacuum-> AddMaterial(Air, fractionmass= 1.);
|
||||
|
||||
//definition H2O=
|
||||
density = 1.000*g/cm3;
|
||||
G4Material* H2O = new G4Material(name="H2O", density, 2);
|
||||
H2O->AddElement (H, nbelements=2);//nbelements=G4int
|
||||
H2O->AddElement (O, nbelements=1);//nbelements=G4int
|
||||
|
||||
(...)
|
||||
|
||||
// definition material 'tungsten'
|
||||
density =19.250*g/cm3;
|
||||
G4Material* tungsten = new G4Material("tungsten",density,1);
|
||||
tungsten->AddElement(W,1);
|
||||
|
||||
|
||||
// definition : composition of Graphite
|
||||
density=2.*g/cm3;
|
||||
G4Material* graphite= new G4Material(name="graphite",density,1);
|
||||
graphite->AddElement (C,1);
|
||||
|
||||
(...)
|
||||
}
|
||||
\endcode
|
||||
|
||||
<b> Important remark:</b>
|
||||
* - The MaterialDefinition() method is called in the constructor of the LEMuSRDetectorConstruction class and not in the Contruct() method. The reason is that the materials table should be built only once; whereas the contructor is called only once, the Contruct() method is called at each modification of the detector.
|
||||
|
||||
* - Some dedicated pointers are declared in the @ref mat_def "header file" and instanciated in the method in charge to construct the different parts of the detector.
|
||||
\cd
|
||||
//====== MATERIAL DECLARATION =========================
|
||||
private:
|
||||
void MaterialsDefinition();
|
||||
//materials
|
||||
G4Material* SC_material;
|
||||
G4Material* SAH_material;
|
||||
G4Material* SAPH_material;
|
||||
G4Material* Scint_material;
|
||||
G4Material* DMCP_material;
|
||||
G4Material* Vacuum ;
|
||||
G4Material* SSteel ;
|
||||
G4Material* Copper ;
|
||||
G4Material* Macor ;
|
||||
G4Material* Carbon ;
|
||||
\ec
|
||||
The instanciation is done calling the GetMaterial() method. The most used elements (stainless steel and vacuum) are instanciated in the lemuDetector() method and the other in their respective methods.
|
||||
\cd
|
||||
G4VPhysicalVolume* LEMuSRDetectorConstruction::lemuDetector() // !attention au V dans G4VP...
|
||||
{
|
||||
|
||||
(...)
|
||||
// main materials
|
||||
|
||||
Vacuum = G4Material::GetMaterial("vacuum");
|
||||
SSteel = G4Material::GetMaterial("stainless_steel");
|
||||
//-------------------------------
|
||||
(...)
|
||||
}
|
||||
|
||||
|
||||
void LEMuSRDetectorConstruction:: lemuMCPdet()
|
||||
{
|
||||
|
||||
(...)
|
||||
|
||||
//materials
|
||||
|
||||
Macor = G4Material::GetMaterial("macor");
|
||||
DMCP_material = G4Material::GetMaterial("mcpglass");
|
||||
|
||||
// logicals volumes
|
||||
lv_DMCP = new G4LogicalVolume( DMCP_tube , DMCP_material ,"lv_DMCP",0,0,0);
|
||||
lv_MCPM = new G4LogicalVolume( MCPM_tube , Macor ,"lv_MCVR",0,0,0);
|
||||
lv_MCPA = new G4LogicalVolume( MCPA_box , SSteel ,"lv_MCPA",0,0,0);
|
||||
lv_ANVA = new G4LogicalVolume( ANVA_tube , Vacuum ,"lv_ANVA",0,0,0);
|
||||
(...)
|
||||
}
|
||||
\ec
|
||||
In this transcript we see that the vacuum and the stainless steel are not redefined in the submethods.
|
||||
|
||||
|
||||
\section geo_elmag Managing electromagnetic fields
|
||||
As stated previously, it is possible to assign a field to a logical volume. This is done in four steps:
|
||||
*-# Creating a field object using a virtual class or a field map
|
||||
*-# Instanciating a field manager
|
||||
*-# Providing the field manager with the field, the motion equation and the integrator stepper (Runge-Kutta, Heum...), the minimal step increment etc.
|
||||
*-# Assigning the field manager to the desired logical volume
|
||||
*.
|
||||
Different types of fields are virtually implemented in \gf, as well as the corresponding equations of motion. Anyway, for the \lemu simulation new classes were built in order to handle field maps generated by COMSOL multiphysics finite element solver.
|
||||
\cd
|
||||
void LEMuSRDetectorConstruction::lemuLinse3()
|
||||
{
|
||||
(...)
|
||||
if(elfield==1)
|
||||
{
|
||||
|
||||
G4ElectricField* L3Field = new LEMuSRElectricField(L3FieldVal,
|
||||
FieldMapsDir+"/ThirdLense/L3b.map"
|
||||
,"dm",-567,60,60,100);
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
L3FieldMgr = new G4FieldManager();//1
|
||||
|
||||
G4MagIntegratorStepper *pStepper;
|
||||
G4El_UsualEqRhs *fEquation = new G4El_UsualEqRhs(L3Field);
|
||||
|
||||
pStepper = new G4ClassicalRK4( fEquation, 12 );
|
||||
|
||||
// equation considers spin or not
|
||||
G4ChordFinder* pChordFinder = new G4ChordFinder( L3Field,
|
||||
1.e-10 * mm, // Minimum step size: must be very small for a precise calculation of transport energy
|
||||
pStepper);
|
||||
|
||||
L3FieldMgr->SetDetectorField(L3Field);
|
||||
L3FieldMgr->SetChordFinder(pChordFinder);
|
||||
|
||||
lv_L3VA = new G4LogicalVolume( L3VA_tube , Vacuum ,"lv_L3VA",L3FieldMgr,0,0);
|
||||
|
||||
}
|
||||
(...)
|
||||
}
|
||||
\ec
|
||||
This transcript shows how to declare the field map of the third lens. The directory of the field maps must be set via the environment variable <b><tt>LEMuSR_FIELDMAPS_DIR</tt></b>.
|
||||
|
||||
|
||||
\section geo_sensi Managing the sensitive detection
|
||||
\gf is well designed for modeling the sensitive detection. It features a virtual class for creating sensitive detectors. These are objects which are linked to a volume and which are called during the particle propagation to take specific actions implemented by the user. For example, the LEMuSRCryoSD class is responsible for monitoring the sensitive detection of particles entering the plates of the sample cryostat.
|
||||
|
||||
*/
|
||||
//------------------------------------------------------------
|
||||
/*! @page geometry2 The Detector Construction
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref geo_implement
|
||||
<B> Up:</B> @ref Mandatory
|
||||
<B> Next:</B> @ref physicsref
|
||||
<BR>
|
||||
\section geo_list Description of the geometry
|
||||
The \lemu detector consists of the last part of the spectrometer, from the trigger detector to the sample cryostat.
|
||||
|
||||
The top volume is the laboratory volume (World), which is a cubic air volume (2mx2mx4m).
|
||||
\image html det2.gif XZ projection view of the detector in the World volume.
|
||||
*
|
||||
\section geo_submethod The contruction methods
|
||||
For clarity reasons, the different parts of the detector are built by different methods. This allows a better control of the geometry and a better modularity. We also had to build different vacuum volumes because it is not possible to assign more than one field per volume. Hence, in LEMuSRDetectorConstruction.cc, on can see that the detector construction method is call other methods to construct different parts of the detector according to the following repartition:
|
||||
|
||||
* \subsection geo_labo Laboratory
|
||||
*- pv_LABO
|
||||
*
|
||||
* - <b><tt>lemuDetector()</tt></b>: constructs the Laboratory and calls the following methods.
|
||||
|
||||
* \subsection geo_trigger Trigger Detector and Chamber
|
||||
*- pv_Trigger: steel cylinder
|
||||
*- pv_TriggerV: vacuum
|
||||
*- pv_TriggerF1: flange
|
||||
*- pv_TriggerF2: flange
|
||||
*- pv_CFOIL: carbon foil
|
||||
*- pv_TriggerB: vacuum region with electric field
|
||||
*- pv_TriggerB2: vacuum region with electric field
|
||||
*- pv_TriggerB3: vacuum region with electric field
|
||||
*
|
||||
* - <b><tt>lemuTrigger_Detector()</tt></b>: builds the carbon foil, the vacuum volume, the steel cylinder and flanges around it and three vacuum volumes to introduce the electric fields. \image html trigger.gif Trigger detector carbon foil, electric field regions and vacuum chamber.
|
||||
|
||||
* \subsection geo_cgate Compensation Gate Chamber
|
||||
*- pv_CGateV: vacuum
|
||||
*- pv_CGate: steel cylinder
|
||||
*- pv_CGateF1: flange
|
||||
*- pv_CGateF2: flange
|
||||
*
|
||||
* - <b><tt>lemuCGate()</tt></b>: builds the compensation gate steel tube and the vacuum volume.
|
||||
|
||||
* \subsection geo_l3 Third Lense and Chamber
|
||||
*- pv_L3VA: vacuum
|
||||
*- pv_L3ST: steel cylinder
|
||||
*- pv_L3F1: flange
|
||||
*- pv_L3F2: flange
|
||||
*- pv_L3GP1: ground potential tube
|
||||
*- pv_L3GP2: "
|
||||
*- pv_L3GP3: "
|
||||
*- pv_L3GP4: "
|
||||
*- pv_L3GP5: "
|
||||
*- pv_L3GP6: "
|
||||
*- pv_L3GP7: "
|
||||
*- pv_L3GP8: "
|
||||
*- pv_L3HP: high potential tube
|
||||
*- pv_L3HP4: "
|
||||
*- pv_L3HP5: "
|
||||
*- pv_L3HP7: "
|
||||
*- pv_L3HP8: "
|
||||
*
|
||||
* - <b><tt>lemuLinse3()</tt></b>: builds the third lens, the vacuum volume and the tube around it. The electric field of the third lens is assigned to the vacuum volume. \im det_L3.gif Third lens and chamber.
|
||||
|
||||
* \subsection geo_mcp2 MCP2 and Gate Valve Chambers
|
||||
*- pv_MCPV: vacuum volume of the MCP2 chamber
|
||||
*- pv_MCPS: steel cylinder of MCP2 chamber
|
||||
*- pv_F100: end of the cylinder
|
||||
*- pv_F160: flange
|
||||
*- pv_F200: flange
|
||||
*- pv_GATV: additional vacuum volume in gate valve chamber (indeed, the radii of the gate valve and the mcp chambers are different)
|
||||
*- pv_GATS: steel cylinder for the gate valve chamber
|
||||
*
|
||||
* - <b><tt>lemuMCP2()</tt></b>: builds the gate valve tube and flanges, the cryostat chamber and flange and a vacuum volume for the gate valve and the sample cryostat region. Indeed, we have and overlap of the electric fields (ring anode, sample cryostat) and magnetic field (coils) in this region. For this volume we built a class for superimposing electric fields and a class for combining electric and magnetic fields.
|
||||
|
||||
* \subsection geo_ringanode RING ANODE
|
||||
*- pv_RA_E: left front conical part
|
||||
*- pv_RA_M: left rear conical part
|
||||
*- pv_RA_E2: right front conical part
|
||||
*- pv_RA_M2: right rear conical part
|
||||
*- pv_RA_G: cylinder part
|
||||
*
|
||||
* - <b><tt>lemuANODE()</tt></b>: builds the ring anode.\im det_mcpv.gif MCP2 and Gate Valve chamber, Ring Anode and MCP detector.
|
||||
|
||||
* \subsection geo_scint Inner and Outer Scintillators
|
||||
*- pv_SCISt: inner top scintillator
|
||||
*- pv_SCISb: inner bottom scintillator
|
||||
*- pv_SCISr: inner right scintillator
|
||||
*- pv_SCISl: inner left scintillator
|
||||
*- pv_SCOSt: outer top scintillator
|
||||
*- pv_SCOSb: outer bottom scintillator
|
||||
*- pv_SCOSr: ouer right scintillator
|
||||
*- pv_SCOSl: outer left scintillator
|
||||
*
|
||||
* - <b><tt>lemuSCINT()</tt></b>: builds the inner and outer scintillators.
|
||||
|
||||
* \subsection geo_mcpdet MCP2 Detector
|
||||
*- pv_DMPC: glass
|
||||
*- pv_MCPA: steel
|
||||
*- pv_MCPM: macor
|
||||
*- pv_MCPM2: macor
|
||||
*- pv_ANVA: vacuum
|
||||
*- pv_MCSR: vacuum
|
||||
*- pv_MCSR: steel
|
||||
*- pv_MCVR: vacuum
|
||||
*- pv_MCSS: steel
|
||||
*
|
||||
* - <b><tt>lemuMCPdet()</tt></b>: builds the MCP2 detector. \im det_mcp_scint.gif MCP2 detector and scintillators.
|
||||
|
||||
* \subsection geo_cryo CRYOSTAT
|
||||
*- pv_SAH1: sample holder 1
|
||||
*- pv_SAH2: sample holder 2
|
||||
*- pv_SAH3: sample holder 3 (not used)
|
||||
*- pv_SAPH: sapphire plate
|
||||
*- pv_COFI: cold finger tube
|
||||
*- pv_CRY1: cryostat
|
||||
*- pv_CRY2: cryostat
|
||||
*- pv_CRY3: cryostat
|
||||
*- pv_CRY4: cryostat
|
||||
*- pv_CRSH: He shield
|
||||
*- pv_CRSH2: front shield
|
||||
*- pv_Guard1: guard
|
||||
*- pv_Guard2: guard
|
||||
*
|
||||
* - <b><tt>lemuCryo()</tt></b>: builds the sample cryostat. \im det_cryo.gif Sample Cryostat.
|
||||
*.
|
||||
|
||||
* \subsection geo_emf Electromagnetic Fields
|
||||
The electromagnetic fields of the trigger and the third lense are build in their respective contruction methods. For the MCP2 region, the field is build by the method <b><tt>BuildAnodeField()</tt></b>, which will construct the electromagnetic field according to the user settings. In this region, it is possible to enable or disable the magnetic field, the electric field at the sample and the electric field of the ring anode. Two special classes, LEMuSRElFieldMix and LEMuSRElMagField, were specialy implemented in order to handle the superposition of two electric fields for the first one, and the superposition of an electric field and a magnetic field for the second one.
|
||||
|
||||
|
||||
\subsection geo_printlist Printing the Volumes List
|
||||
The list of all the volumes and their densities and masses can be printed during the simulation by entering the commands
|
||||
*
|
||||
* <b><tt>vis/ASCIITree/verbose x</tt></b> to set the level of details (\f$ 0 < x < 15 \f$ )
|
||||
*
|
||||
* <b><tt>vis/drawTree</tt></b>
|
||||
*
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
143
geant4/LEMuSR/doc/geometry2.dox~
Normal file
@ -0,0 +1,143 @@
|
||||
//------------------------------------------------------------
|
||||
/*! @page geometry The Detector Construction
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref geo_implement
|
||||
<B> Up:</B> @ref Mandatory
|
||||
<B> Next:</B> @ref physicsref
|
||||
<BR>
|
||||
\section geo_list Description of the geometry
|
||||
The \lemu detector consists of the last part of the spectrometer, from the trigger detector to the sample cryostat.
|
||||
|
||||
The top volume is the laboratory volume (World), which is a cubic air volume (2mx2mx4m).
|
||||
\image html det2.gif XZ projection view of the detector in the World volume.
|
||||
*
|
||||
\subsection geo_submethod The contruction methods
|
||||
For clarity reasons, the different parts of the detector are built by different methods. This allows a better control of the geometry and a better modularity. We also had to build different vacuum volumes because it is not possible to assign more than one field per volume. Hence, in LEMuSRDetectorConstruction.cc, on can see that the detector construction method is call other methods to construct different parts of the detector according to the following repartition:
|
||||
* - <tt>lemuTrigger_Detector()</tt>: builds the carbon foil, the vacuum volume, the steel cylinder and flanges around it and three vacuum volumes to introduce the electric fields. \image html trigger.gif Trigger detector carbon foil, electric field regions and vacuum chamber.
|
||||
* - <tt>lemuCGate()</tt>: builds the compensation gate steel tube and the vacuum volume.
|
||||
* - <tt>lemuLinse3()</tt>: builds the third lens, the vacuum volume and the tube around it. The electric field of the third lens is assigned to the vacuum volume. \im det_L3.gif Third lens and chamber.
|
||||
* - <tt>lemuMCP2()</tt>: builds the gate valve tube and flanges, the cryostat chamber and flange and a vacuum volume for the gate valve and the sample cryostat region. Indeed, we have and overlap of the electric fields (ring anode, sample cryostat) and magnetic field (coils) in this region. For this volume we built a class for superimposing electric fields and a class for combining electric and magnetic fields.
|
||||
* - <tt>lemuANODE()</tt>: builds the ring anode.\im det_mcpv.gif Cryostat chamber and Gate Valve chamber.
|
||||
* - <tt>lemuSCINT()</tt>: builds the inner and outer scintillators.
|
||||
* - <tt>lemuMCPdet()</tt>: builds the MCP2 detector. \im det_mcp_scint.gif MCP2 detector and scintillators.
|
||||
* - <tt>lemuCryo()</tt>: builds the sample cryostat. \im det_cryo.gif Sample Cryostat.
|
||||
*.
|
||||
The electromagnetic fields of the trigger and the third lense are build in their respective contruction methods. For the MCP2 region, the field is build by the method <tt>BuildAnodeField()</tt>, which will construct the electromagnetic field according to the user settings. In this region, it is possible to enable or disable the magnetic field, the electric field at the sample and the electric field of the ring anode. Two special classes, LEMuSRElFieldMix and LEMuSRElMagField, were specialy implemented in order to handle the superposition of two electric fields for the first one, and the superposition of an electric field and a magnetic field for the second one.
|
||||
|
||||
\subsection geo_pvolumes List of the geometry elements
|
||||
Here is a list of the different physical volume and their specifications:
|
||||
*- pv_LABO
|
||||
*
|
||||
* MCP and Gate Valve Chambers
|
||||
*- pv_MCPV:
|
||||
*- pv_MCPS:
|
||||
*- pv_F100:
|
||||
*- pv_F160:
|
||||
*- pv_F200:
|
||||
*- pv_GATV:
|
||||
*- pv_GATS:
|
||||
*
|
||||
* RING ANODE
|
||||
*- pv_RA_E
|
||||
*- pv_RA_M
|
||||
*- pv_RA_G
|
||||
*- pv_RAV
|
||||
*
|
||||
* MCP2 Detector
|
||||
*- pv_DMPC
|
||||
*- pv_MCPA
|
||||
*- pv_MCPM
|
||||
*- pv_MCPM2
|
||||
*- pv_ANVA
|
||||
*- pv_MCSR
|
||||
*- pv_MCSR
|
||||
*- pv_MCVR
|
||||
*- pv_MCSS
|
||||
*
|
||||
* CRYOSTAT
|
||||
*- pv_SAH1
|
||||
*- pv_SAH2
|
||||
*- pv_SAH3
|
||||
*- pv_SAPH
|
||||
*- pv_COFI
|
||||
*- pv_CRY1
|
||||
*- pv_CRY2
|
||||
*- pv_CRY3
|
||||
*- pv_CRY4
|
||||
*- pv_CRSH
|
||||
*- pv_CRSH2
|
||||
*- pv_Guard1
|
||||
*- pv_Guard2
|
||||
*
|
||||
* Third Lense and Chamber
|
||||
*- pv_L3VA
|
||||
*- pv_L3ST
|
||||
*- pv_L3F1
|
||||
*- pv_L3F2
|
||||
*- pv_L3GP1
|
||||
*- pv_L3GP2
|
||||
*- pv_L3GP3
|
||||
*- pv_L3GP4
|
||||
*- pv_L3GP5
|
||||
*- pv_L3GP6
|
||||
*- pv_L3GP7
|
||||
*- pv_L3GP8
|
||||
*- pv_L3HP
|
||||
*- pv_L3HP4
|
||||
*- pv_L3HP5
|
||||
*- pv_L3HP7
|
||||
*- pv_L3HP8
|
||||
*
|
||||
* Compensation Gate Chamber
|
||||
*- pv_CGateV
|
||||
*- pv_CGate
|
||||
*- pv_CGateF1
|
||||
*- pv_CGateF2
|
||||
*
|
||||
*Trigger Detector and Chamber
|
||||
*- pv_Trigger
|
||||
*- pv_TriggerV
|
||||
*- pv_TriggerF1
|
||||
*- pv_TriggerF2
|
||||
*- pv_CFOIL
|
||||
*- pv_TriggerB
|
||||
*- pv_TriggerB2
|
||||
*- pv_TriggerB3
|
||||
*
|
||||
* Inner and Outer Scintillators
|
||||
*- pv_SCISt
|
||||
*- pv_SCISb
|
||||
*- pv_SCISr
|
||||
*- pv_SCISl
|
||||
*- pv_SCOSt
|
||||
*- pv_SCOSb
|
||||
*- pv_SCOSr
|
||||
*- pv_SCOSl
|
||||
*.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*.
|
||||
The list of all the volumes and their densities and masses can be accessesd during the simulation by entering the commands
|
||||
*
|
||||
* <tt>vis/ASCIITree/verbose x</tt> to set the level of details (\f$ 0 < x < 15 \f$ )
|
||||
*
|
||||
* <tt>vis/drawTree</tt>
|
||||
*
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
14
geant4/LEMuSR/doc/gui.dox
Normal file
@ -0,0 +1,14 @@
|
||||
/*! @page gui LEmuSR Tree
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref svisualisation
|
||||
<B> Up:</B> @ref lemutree
|
||||
<B> Next:</B> @ref setup
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section sgui Geant4 user interface manager
|
||||
Geant4 interactivity is possible thanks to the user interface manager G4UIManager. It is a powerfull tool that allows the user to change any parameter of the simulation entering commands in a terminal. In addition to the commands included in \gf, one can implement ones own commands by the use of messenger classes. An example of building a messenger class for the detector geometry can be found in @ref messengers .
|
||||
|
||||
*/
|
14
geant4/LEMuSR/doc/gui.dox~
Normal file
@ -0,0 +1,14 @@
|
||||
/*! @page gui LEmuSR Tree
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref svisualisation
|
||||
<B> Up:</B> @ref lemutree
|
||||
<B> Next:</B> @ref setup
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section sgui Geant4 user interface manager
|
||||
Geant4 interactivity is possible thanks to the user interface manager G4UIManager. It is a powerfull tool that allows the user to change any parameter of the simulation entering commands in a terminal. In addition to the commands included in \gf, one can implement ones own commands by the use of messenger classes. An example of building a messenger class for the detector geometry can be found in @ref messengers .
|
||||
|
||||
*/
|
270
geant4/LEMuSR/doc/howg4.dox
Normal file
@ -0,0 +1,270 @@
|
||||
/*! @page howg4 How Does Geant4 Runs?
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref Useraction
|
||||
<B> Up:</B> @ref Main
|
||||
<B> Next:</B> @ref howg4
|
||||
<BR>
|
||||
|
||||
In this section we describe how Geant4 proceeds to run a simulation, which are the successive classes involved in the process of a run and what is the interplay between them.
|
||||
|
||||
\section how_runmgr The G4RunManager
|
||||
As written precedently, the main component of the simulation is the \b G4RunManager object which is instanciated at the very beginning of the LEMuSR.cc file. <b>It is the class in charge of the simulation control</b>.
|
||||
|
||||
\cd
|
||||
//! 1 The run manager construction
|
||||
G4RunManager* runManager = new G4RunManager;
|
||||
\ec
|
||||
|
||||
The simulation procedure will be launched when the user invokes the method <tt>BeamOn(#NumberOfEvents)</tt>.
|
||||
|
||||
|
||||
\section how_init Initialization of the mandatory and user action classes.
|
||||
The class G4RunManager features the following important pointers:
|
||||
|
||||
\code
|
||||
210 protected:
|
||||
211 G4RunManagerKernel * kernel;
|
||||
212 G4EventManager * eventManager;
|
||||
213
|
||||
214 G4VUserDetectorConstruction * userDetector;
|
||||
215 G4VUserPhysicsList * physicsList;
|
||||
216 G4UserRunAction * userRunAction;
|
||||
217 G4VUserPrimaryGeneratorAction * userPrimaryGeneratorAction;
|
||||
218 G4UserEventAction * userEventAction;
|
||||
219 G4UserStackingAction * userStackingAction;
|
||||
220 G4UserTrackingAction * userTrackingAction;
|
||||
221 G4UserSteppingAction * userSteppingAction;
|
||||
222
|
||||
23 private:
|
||||
224 G4RunMessenger* runMessenger;
|
||||
\endcode Transcript of G4RunManager.hh
|
||||
|
||||
* - The G4RunManagerKernel is responsible for controlling the state of the simulation at the different stages of the run. It contains the following methods
|
||||
* - DefineWorldVolume
|
||||
* - InitializePhysics
|
||||
* - RunInitialization
|
||||
* - RunTermination
|
||||
*.
|
||||
*which will be called by the run manager successively in this order.
|
||||
*.
|
||||
* - @anchor eventManager The G4EventManager is responsible for the control of the current event of the simulation. More details are given later about it.
|
||||
|
||||
* - The G4VUser classes are @ref virtual_classes "virtual classes": this means that they consist in virtual methods which have to be entirely implemented by the user. During the simulation, those methods are called by the simulation managers in order to execute precise operations personalized by the user.
|
||||
|
||||
For example, the geometry initialization method of the kernel will call the <tt>userDetector->Construct()</tt> method in order to setup the desired geometry. It is now clear that when the user defines his own geometry class he \b must implement the detector description method Construct() with the same name (cf. \ref geometry).
|
||||
|
||||
Now one understands the big advantage of the object oriented language and of the use of @ref virtual_classes "virtual classes" and methods: the \gf package can be regarded as a plug-and-play simulation where the communication with virtual user parameters like the geometry, the physics to take into account or the actions to operate at different stages (plotting, histogramming...) relies on pre-established commands.
|
||||
|
||||
|
||||
|
||||
After instanciation of the mandatory classes in the LEMuSR.cc file,
|
||||
\cd
|
||||
//! 2.1 LEMuSR Initialization classes
|
||||
LEMuSRDetectorConstruction* lemuDetector = new LEMuSRDetectorConstruction();
|
||||
|
||||
LEMuSRPhysicsList* lemuPhysicsList = new LEMuSRPhysicsList();
|
||||
|
||||
//! 2.2 LEMuSR Action class
|
||||
LEMuSRPrimaryGeneratorAction* lemuPGA = new LEMuSRPrimaryGeneratorAction();
|
||||
\ec
|
||||
|
||||
the following methods are called:
|
||||
* - \cd
|
||||
//! 2.3 Setting the mandatory Initialization classesrunManager->SetUserInitialization(MandatoryDetectorClass);
|
||||
runManager->SetUserInitialization(MandatoryPhysicsListClass);
|
||||
//! 2.4 Setting the mandatory Action class
|
||||
runManager->SetUserAction(MandatoryPrimaryGeneratorActionClass);
|
||||
\ec
|
||||
* for the initilization of the mandatory action class and
|
||||
* - \cd
|
||||
//! 2.4 Setting the mandatory Action class
|
||||
runManager ->SetUserAction( lemuPGA );
|
||||
|
||||
//! 3 The optionnal classes
|
||||
runManager ->SetUserAction( new LEMuSRRunAction());
|
||||
runManager ->SetUserAction( new LEMuSREventAction());
|
||||
runManager ->SetUserAction( new LEMuSRTrackingAction());
|
||||
(...)
|
||||
runManager ->SetUserAction( new LEMuSRSteppingAction());
|
||||
\ec
|
||||
* for the initialization of the action classes.
|
||||
|
||||
|
||||
When those methods are called, the run manager assigns its pointers to the classes defined by the user.
|
||||
|
||||
\cd
|
||||
255 inline void SetUserInitialization(G4VUserDetectorConstruction* userInit)
|
||||
256 { userDetector = userInit; }
|
||||
257 inline void SetUserInitialization(G4VUserPhysicsList* userInit)
|
||||
258 {
|
||||
259 physicsList = userInit;
|
||||
260 kernel->SetPhysics(userInit);
|
||||
261 }
|
||||
(...)
|
||||
276 inline void SetUserAction(G4UserTrackingAction* userAction)
|
||||
277 {
|
||||
278 eventManager->SetUserAction(userAction);
|
||||
279 userTrackingAction = userAction;
|
||||
280 }
|
||||
\ec
|
||||
|
||||
In this transcript one sees that the pointers to the users classes are also given to the other classes like the G4RunManagerKernel (initialization classes) or the G4EventManager (action classes).
|
||||
|
||||
|
||||
\section how_rminit Initialization of the Run Manager
|
||||
|
||||
The run manager is initialized in the main() by calling the <tt>Initialize()</tt> method
|
||||
\cd
|
||||
//! 5 Initialize G4 kernel
|
||||
runManager -> Initialize();
|
||||
\ec
|
||||
|
||||
The role of this method is to initialize the detector and the physics list
|
||||
\cd
|
||||
298 void G4RunManager::Initialize()
|
||||
299 {
|
||||
(...)
|
||||
309 if(!geometryInitialized) InitializeGeometry();
|
||||
310 if(!physicsInitialized) InitializePhysics();
|
||||
311 initializedAtLeastOnce = true;
|
||||
312 }
|
||||
313
|
||||
314 void G4RunManager::InitializeGeometry()
|
||||
315 {
|
||||
316 if(!userDetector)
|
||||
317 {
|
||||
318 G4Exception
|
||||
319 ("G4RunManager::InitializeGeometry - G4VUserDetectorConstruction is not defined.");
|
||||
320 }
|
||||
321
|
||||
322 if(verboseLevel>1) G4cout << "userDetector->Construct() start." << G4endl;
|
||||
323 kernel->DefineWorldVolume(userDetector->Construct(),false);
|
||||
324 geometryInitialized = true;
|
||||
325 }
|
||||
326
|
||||
327 void G4RunManager::InitializePhysics()
|
||||
328 {
|
||||
329 if(physicsList)
|
||||
330 {
|
||||
331 if(verboseLevel>1) G4cout << "physicsList->Construct() start." << G4endl;
|
||||
332 kernel->InitializePhysics();
|
||||
333 }
|
||||
334 else
|
||||
335 {
|
||||
336 G4Exception("G4VUserPhysicsList is not defined");
|
||||
337 }
|
||||
338 physicsInitialized = true;
|
||||
339 }
|
||||
340
|
||||
\ec
|
||||
what is done by calling the <tt>Construct()</tt> methods via the kernel initialization methods.
|
||||
|
||||
Once this initialization is complete, the simulation is ready to be launched by calling the <tt>beamOn()</tt> method.
|
||||
|
||||
|
||||
\anchor beamOn
|
||||
\section how_beamon beamOn()
|
||||
|
||||
The <tt>beamOn()</tt> method is called by tue user in the terminal. Once called, this method will start the simulation procedure, generating as many events as given in argument. If the user gives no argument, only one event will be generated.
|
||||
|
||||
\cd
|
||||
122 void G4RunManager::BeamOn(G4int n_event,const char* macroFile,G4int n_select)
|
||||
123 {
|
||||
124 G4bool cond = ConfirmBeamOnCondition();
|
||||
125 if(cond)
|
||||
126 {
|
||||
127 numberOfEventToBeProcessed = n_event;
|
||||
128 RunInitialization();
|
||||
129 if(n_event>0) DoEventLoop(n_event,macroFile,n_select);
|
||||
130 RunTermination();
|
||||
131 }
|
||||
\ec
|
||||
|
||||
The <tt>beamOn()</tt> method invokes tree important methods of the run manager:
|
||||
* -# First, the <tt>RunInitialization()</tt> method for the run preparation:
|
||||
* -# The kernel run initialization method is called: it will confirm the correct definition of the geometry, physics etc. and create a G4StateManager object, which is responsible for handling and updating the running state of the Geant4 application during its different phases.
|
||||
* -# A new G4Run object is instanciated.
|
||||
* -# If a \b user \b run \b action class is defined, the G4run object is created by calling the <tt>G4UserRunAction::GenerateRun()</tt> method and the <tt>G4UserRunAction::BeginOfRunAction()</tt> method is called to take user actions at the beginning of the run (cf. \ref runaction ).
|
||||
\cd
|
||||
166 void G4RunManager::RunInitialization()
|
||||
167 {
|
||||
168 if(!(kernel->RunInitialization())) return;
|
||||
// Check if user classes are initialized
|
||||
(...)
|
||||
171 if(userRunAction) currentRun = userRunAction->GenerateRun();
|
||||
172 if(!currentRun) currentRun = new G4Run();
|
||||
// Create new G4Run object
|
||||
182 if(userRunAction) userRunAction->BeginOfRunAction(currentRun);
|
||||
// Perform the user's actions for the beginning of the run
|
||||
(...)
|
||||
197 if(verboseLevel>0) G4cout << "Start Run processing." << G4endl;
|
||||
198 }
|
||||
\ec
|
||||
In the case of the \lemu simulation the <tt>LEMuSRRunAction::BeginOfRunAction()</tt> method is used to initialize the user interface terminal.
|
||||
* -# Second, the <tt>DoEventLoop()</tt> method is called to simulate as many event as wanted. The event loop is described in the next section.
|
||||
* -# Finally, the <tt>RunTermination()</tt> method is called and simply consists in the execution of the <tt>RunTermination()</tt> from the kernel, and makes the simulation ready for a new run.
|
||||
\cd
|
||||
303 void G4RunManagerKernel::RunTermination()
|
||||
304 { G4StateManager::GetStateManager()->SetNewState(G4State_Idle); }
|
||||
\ec
|
||||
|
||||
|
||||
|
||||
|
||||
\section how_evtloop The Event Loop
|
||||
|
||||
The following transcript shows how an event loop is organised. The loop iteration number (the number of events to simulate) is provided by the user.
|
||||
\cd
|
||||
200 void G4RunManager::DoEventLoop(G4int n_event,const char* macroFile,G4int n_select)
|
||||
201 {
|
||||
(...)
|
||||
215 // Event loop
|
||||
216 G4int i_event;
|
||||
217 for( i_event=0; i_event<n_event; i_event++ )
|
||||
218 {
|
||||
219 currentEvent = GenerateEvent(i_event);
|
||||
220 eventManager->ProcessOneEvent(currentEvent);
|
||||
221 AnalyzeEvent(currentEvent);
|
||||
222 if(i_event<n_select) G4UImanager::GetUIpointer()->ApplyCommand(msg);
|
||||
223 StackPreviousEvent(currentEvent);
|
||||
224 currentEvent = 0;
|
||||
225 if(runAborted) break;
|
||||
226 }
|
||||
(...)
|
||||
239 }
|
||||
\ec
|
||||
|
||||
Once the event is generated by calling the <tt>GeneratePrimaries()</tt> method of the user primary generator action (cf. LEMuSRPrimaryGeneratorAction), the \ref eventManager will simulate one event, propagating a particle through the described detector and making it interact according to the defined interaction and processes.
|
||||
|
||||
|
||||
\subsection how_processevent ProcessOneEvent()
|
||||
|
||||
The <A HREF="http://www-geant4.kek.jp/lxr/source/event/src/G4EventManager.cc"><strong>G4EventManager::ProcessOneEvent()</strong></A> method prepare the G4EventManager::DoProcessing() method, which is actually responsible for the event simulation. The procedure is the following:
|
||||
* -# Initialization of the state of the run via the G4StateManager
|
||||
* -# Instanciation of the <A href="http://www-geant4.kek.jp/lxr/source/geometry/navigation/include/G4Navigator.hh"><strong>navigator</strong></A> object. * It is the class responsible for the calculation of time and distances during the navigation of the particle in the different volumes of the geometry. The <A href="http://www-geant4.kek.jp/lxr/source/geometry/navigation/include/G4Navigator.hh">navigator</A> object is created by the <A href="http://www-geant4.kek.jp/lxr/source/geometry/navigation/include/G4TransportationManager.hh">G4TransportationManager</A>, itself created at the very beginning of the simulation, before the main() method is called.
|
||||
* -# Initialization of the <A href="http://www-geant4.kek.jp/lxr/source/digits_hits/detector/include/G4SDManager.hh">sensitive detector manager</a>.
|
||||
* -# Initialization of the track container, which is an object of the <A HREF="http://www-geant4.kek.jp/lxr/source/event/src/G4StackManager.cc">G4StackManager</A> class. It stores the initial track and its secondaries until they are all simulated. The UserStackingAction can be used to segregate the secondary particles tracks to stack or not.
|
||||
* -# Stack tracks from the pimary event. This is done by calling the GimmePrimaries() method from the <A href="http://www-geant4.kek.jp/lxr/source/event/src/G4PrimaryTransformer.cc">G4PrimaryTransformer class</A>. This class performs the conversion of the primary particle object generated by the primary generator action into a dynamic particle, which is the particle object for the tracking.
|
||||
* -# Do the following loop while the track container is not empty:
|
||||
* -# Creation of a track pointer.
|
||||
* -# Execution of the User Event Actions.
|
||||
* -# Loop the folowing for each track in the container:
|
||||
* -# Assing the current track to the created track pointer
|
||||
* -# Call of the <A href="http://www-geant4.kek.jp/lxr/ident?i=ProcessOneTrack">G4TrackingManager::ProcessOneTrack()</A> method to simulate the track
|
||||
* -# Collect the track trajectory and stack (under conditions) the secondary tracks in the container
|
||||
* -# Call the termination of the sensitive detector manager.
|
||||
* -# Initialization of the state manager for a new run.
|
||||
*.
|
||||
|
||||
\subsection how_processtrack ProcessOneTrack()
|
||||
Let us now decribe the next step in the simulation hierarchy, which is the simulation of a track. This is done by calling the ProcessOneTrack() method which is a member of the <A href="http://www-geant4.kek.jp/lxr/source/tracking/include/G4TrackingManager.hh?v=7.0.p1">G4TrackingManager</A>.
|
||||
|
||||
After initialization of the new track taken from the stack manager, the Stepping Manager is called to set the initial step of the track. The Pre User Tracking Actions are taken and the step by step tracking is performed until the particle stops or dies. This is done by calling the G4SteppingManager::Stepping() method.
|
||||
|
||||
At each step, the user actions are taken before and after the step, and the process is selected according to cross section and priority given by the user. The Sensitive Detectors are also called at the step stage of the simulation.
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
270
geant4/LEMuSR/doc/howg4.dox~
Normal file
@ -0,0 +1,270 @@
|
||||
/*! @page howg4 How Does Geant4 Runs?
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref Useraction
|
||||
<B> Up:</B> @ref Main
|
||||
<B> Next:</B> @ref howg4
|
||||
<BR>
|
||||
|
||||
In this section we describe how Geant4 proceeds to run a simulation, which are the successive classes involved in the process of a run and what is the interplay between them.
|
||||
|
||||
\section how_runmgr The G4RunManager
|
||||
As written precedently, the main component of the simulation is the \b G4RunManager object which is instanciated at the very beginning of the LEMuSR.cc file. <b>It is the class in charge of the simulation control</b>.
|
||||
|
||||
\cd
|
||||
//! 1 The run manager construction
|
||||
G4RunManager* runManager = new G4RunManager;
|
||||
\ec
|
||||
|
||||
The simulation procedure will be launched when the user invokes the method <tt>BeamOn(#NumberOfEvents)</tt>.
|
||||
|
||||
|
||||
\section how_init Initialization of the mandatory and user action classes.
|
||||
The class G4RunManager features the following important pointers:
|
||||
|
||||
\code
|
||||
210 protected:
|
||||
211 G4RunManagerKernel * kernel;
|
||||
212 G4EventManager * eventManager;
|
||||
213
|
||||
214 G4VUserDetectorConstruction * userDetector;
|
||||
215 G4VUserPhysicsList * physicsList;
|
||||
216 G4UserRunAction * userRunAction;
|
||||
217 G4VUserPrimaryGeneratorAction * userPrimaryGeneratorAction;
|
||||
218 G4UserEventAction * userEventAction;
|
||||
219 G4UserStackingAction * userStackingAction;
|
||||
220 G4UserTrackingAction * userTrackingAction;
|
||||
221 G4UserSteppingAction * userSteppingAction;
|
||||
222
|
||||
23 private:
|
||||
224 G4RunMessenger* runMessenger;
|
||||
\endcode Transcript of G4RunManager.hh
|
||||
|
||||
* - The G4RunManagerKernel is responsible for controlling the state of the simulation at the different stages of the run. It contains the following methods
|
||||
* - DefineWorldVolume
|
||||
* - InitializePhysics
|
||||
* - RunInitialization
|
||||
* - RunTermination
|
||||
*.
|
||||
*which will be called by the run manager successively in this order.
|
||||
*.
|
||||
* - @anchor eventManager The G4EventManager is responsible for the control of the current event of the simulation. More details are given later about it.
|
||||
|
||||
* - The G4VUser classes are @ref virtual_classes "virtual classes": this means that they consist in virtual methods which have to be entirely implemented by the user. During the simulation, those methods are called by the simulation managers in order to execute precise operations personalized by the user.
|
||||
|
||||
For example, the geometry initialization method of the kernel will call the <tt>userDetector->Construct()</tt> method in order to setup the desired geometry. It is now clear that when the user defines his own geometry class he \b must implement the detector description method Construct() with the same name (cf. \ref geometry).
|
||||
|
||||
Now one understands the big advantage of the object oriented language and of the use of @ref virtual_classes "virtual classes" and methods: the \gf package can be regarded as a plug-and-play simulation where the communication with virtual user parameters like the geometry, the physics to take into account or the actions to operate at different stages (plotting, histogramming...) relies on pre-established commands.
|
||||
|
||||
|
||||
|
||||
After instanciation of the mandatory classes in the LEMuSR.cc file,
|
||||
\cd
|
||||
//! 2.1 LEMuSR Initialization classes
|
||||
LEMuSRDetectorConstruction* lemuDetector = new LEMuSRDetectorConstruction();
|
||||
|
||||
LEMuSRPhysicsList* lemuPhysicsList = new LEMuSRPhysicsList();
|
||||
|
||||
//! 2.2 LEMuSR Action class
|
||||
LEMuSRPrimaryGeneratorAction* lemuPGA = new LEMuSRPrimaryGeneratorAction();
|
||||
\ec
|
||||
|
||||
the following methods are called:
|
||||
* - \cd
|
||||
//! 2.3 Setting the mandatory Initialization classesrunManager->SetUserInitialization(MandatoryDetectorClass);
|
||||
runManager->SetUserInitialization(MandatoryPhysicsListClass);
|
||||
//! 2.4 Setting the mandatory Action class
|
||||
runManager->SetUserAction(MandatoryPrimaryGeneratorActionClass);
|
||||
\ec
|
||||
* for the initilization of the mandatory action class and
|
||||
* - \cd
|
||||
//! 2.4 Setting the mandatory Action class
|
||||
runManager ->SetUserAction( lemuPGA );
|
||||
|
||||
//! 3 The optionnal classes
|
||||
runManager ->SetUserAction( new LEMuSRRunAction());
|
||||
runManager ->SetUserAction( new LEMuSREventAction());
|
||||
runManager ->SetUserAction( new LEMuSRTrackingAction());
|
||||
(...)
|
||||
runManager ->SetUserAction( new LEMuSRSteppingAction());
|
||||
\ec
|
||||
* for the initialization of the action classes.
|
||||
|
||||
|
||||
When those methods are called, the run manager assigns its pointers to the classes defined by the user.
|
||||
|
||||
\cd
|
||||
255 inline void SetUserInitialization(G4VUserDetectorConstruction* userInit)
|
||||
256 { userDetector = userInit; }
|
||||
257 inline void SetUserInitialization(G4VUserPhysicsList* userInit)
|
||||
258 {
|
||||
259 physicsList = userInit;
|
||||
260 kernel->SetPhysics(userInit);
|
||||
261 }
|
||||
(...)
|
||||
276 inline void SetUserAction(G4UserTrackingAction* userAction)
|
||||
277 {
|
||||
278 eventManager->SetUserAction(userAction);
|
||||
279 userTrackingAction = userAction;
|
||||
280 }
|
||||
\ec
|
||||
|
||||
In this transcript one sees that the pointers to the users classes are also given to the other classes like the G4RunManagerKernel (initialization classes) or the G4EventManager (action classes).
|
||||
|
||||
|
||||
\section how_rminit Initialization of the Run Manager
|
||||
|
||||
The run manager is initialized in the main() by calling the <tt>Initialize()</tt> method
|
||||
\cd
|
||||
//! 5 Initialize G4 kernel
|
||||
runManager -> Initialize();
|
||||
\ec
|
||||
|
||||
The role of this method is to initialize the detector and the physics list
|
||||
\cd
|
||||
298 void G4RunManager::Initialize()
|
||||
299 {
|
||||
(...)
|
||||
309 if(!geometryInitialized) InitializeGeometry();
|
||||
310 if(!physicsInitialized) InitializePhysics();
|
||||
311 initializedAtLeastOnce = true;
|
||||
312 }
|
||||
313
|
||||
314 void G4RunManager::InitializeGeometry()
|
||||
315 {
|
||||
316 if(!userDetector)
|
||||
317 {
|
||||
318 G4Exception
|
||||
319 ("G4RunManager::InitializeGeometry - G4VUserDetectorConstruction is not defined.");
|
||||
320 }
|
||||
321
|
||||
322 if(verboseLevel>1) G4cout << "userDetector->Construct() start." << G4endl;
|
||||
323 kernel->DefineWorldVolume(userDetector->Construct(),false);
|
||||
324 geometryInitialized = true;
|
||||
325 }
|
||||
326
|
||||
327 void G4RunManager::InitializePhysics()
|
||||
328 {
|
||||
329 if(physicsList)
|
||||
330 {
|
||||
331 if(verboseLevel>1) G4cout << "physicsList->Construct() start." << G4endl;
|
||||
332 kernel->InitializePhysics();
|
||||
333 }
|
||||
334 else
|
||||
335 {
|
||||
336 G4Exception("G4VUserPhysicsList is not defined");
|
||||
337 }
|
||||
338 physicsInitialized = true;
|
||||
339 }
|
||||
340
|
||||
\ec
|
||||
what is done by calling the <tt>Construct()</tt> methods via the kernel initialization methods.
|
||||
|
||||
Once this initialization is complete, the simulation is ready to be launched by calling the <tt>beamOn()</tt> method.
|
||||
|
||||
|
||||
\anchor beamOn
|
||||
\section how_beamon beamOn()
|
||||
|
||||
The <tt>beamOn()</tt> method is called by tue user in the terminal. Once called, this method will start the simulation procedure, generating as many events as given in argument. If the user gives no argument, only one event will be generated.
|
||||
|
||||
\cd
|
||||
122 void G4RunManager::BeamOn(G4int n_event,const char* macroFile,G4int n_select)
|
||||
123 {
|
||||
124 G4bool cond = ConfirmBeamOnCondition();
|
||||
125 if(cond)
|
||||
126 {
|
||||
127 numberOfEventToBeProcessed = n_event;
|
||||
128 RunInitialization();
|
||||
129 if(n_event>0) DoEventLoop(n_event,macroFile,n_select);
|
||||
130 RunTermination();
|
||||
131 }
|
||||
\ec
|
||||
|
||||
The <tt>beamOn()</tt> method invokes tree important methods of the run manager:
|
||||
* -# First, the <tt>RunInitialization()</tt> method for the run preparation:
|
||||
* -# The kernel run initialization method is called: it will confirm the correct definition of the geometry, physics etc. and create a G4StateManager object, which is responsible for handling and updating the running state of the Geant4 application during its different phases.
|
||||
* -# A new G4Run object is instanciated.
|
||||
* -# If a \b user \b run \b action class is defined, the G4run object is created by calling the <tt>G4UserRunAction::GenerateRun()</tt> method and the <tt>G4UserRunAction::BeginOfRunAction()</tt> method is called to take user actions at the beginning of the run (cf. \ref runaction ).
|
||||
\cd
|
||||
166 void G4RunManager::RunInitialization()
|
||||
167 {
|
||||
168 if(!(kernel->RunInitialization())) return;
|
||||
// Check if user classes are initialized
|
||||
(...)
|
||||
171 if(userRunAction) currentRun = userRunAction->GenerateRun();
|
||||
172 if(!currentRun) currentRun = new G4Run();
|
||||
// Create new G4Run object
|
||||
182 if(userRunAction) userRunAction->BeginOfRunAction(currentRun);
|
||||
// Perform the user's actions for the beginning of the run
|
||||
(...)
|
||||
197 if(verboseLevel>0) G4cout << "Start Run processing." << G4endl;
|
||||
198 }
|
||||
\ec
|
||||
In the case of the \lemu simulation the <tt>LEMuSRRunAction::BeginOfRunAction()</tt> method is used to initialize the user interface terminal.
|
||||
* -# Second, the <tt>DoEventLoop()</tt> method is called to simulate as many event as wanted. The event loop is described in the next section.
|
||||
* -# Finally, the <tt>RunTermination()</tt> method is called and simply consists in the execution of the <tt>RunTermination()</tt> from the kernel, and makes the simulation ready for a new run.
|
||||
\cd
|
||||
303 void G4RunManagerKernel::RunTermination()
|
||||
304 { G4StateManager::GetStateManager()->SetNewState(G4State_Idle); }
|
||||
\ec
|
||||
|
||||
|
||||
|
||||
|
||||
\section how_evtloop The Event Loop
|
||||
|
||||
The following transcript shows how an event loop is organised. The loop iteration number (the number of events to simulate) is provided by the user.
|
||||
\cd
|
||||
200 void G4RunManager::DoEventLoop(G4int n_event,const char* macroFile,G4int n_select)
|
||||
201 {
|
||||
(...)
|
||||
215 // Event loop
|
||||
216 G4int i_event;
|
||||
217 for( i_event=0; i_event<n_event; i_event++ )
|
||||
218 {
|
||||
219 currentEvent = GenerateEvent(i_event);
|
||||
220 eventManager->ProcessOneEvent(currentEvent);
|
||||
221 AnalyzeEvent(currentEvent);
|
||||
222 if(i_event<n_select) G4UImanager::GetUIpointer()->ApplyCommand(msg);
|
||||
223 StackPreviousEvent(currentEvent);
|
||||
224 currentEvent = 0;
|
||||
225 if(runAborted) break;
|
||||
226 }
|
||||
(...)
|
||||
239 }
|
||||
\ec
|
||||
|
||||
Once the event is generated by calling the <tt>GeneratePrimaries()</tt> method of the user primary generator action (cf. LEMuSRPrimaryGeneratorAction), the \ref eventManager will simulate one event, propagating a particle through the described detector and making it interact according to the defined interaction and processes.
|
||||
|
||||
|
||||
\subsection how_processevent ProcessOneEvent()
|
||||
|
||||
The <A HREF="http://www-geant4.kek.jp/lxr/source/event/src/G4EventManager.cc"><strong>G4EventManager::ProcessOneEvent()</strong></A> method prepare the G4EventManager::DoProcessing() method, which is actually responsible for the event simulation. The procedure is the following:
|
||||
* -# Initialization of the state of the run via the G4StateManager
|
||||
* -# Instanciation of the <A href="http://www-geant4.kek.jp/lxr/source/geometry/navigation/include/G4Navigator.hh"><strong>navigator</strong></A> object. * It is the class responsible for the calculation of time and distances during the navigation of the particle in the different volumes of the geometry. The <A href="http://www-geant4.kek.jp/lxr/source/geometry/navigation/include/G4Navigator.hh">navigator</A> object is created by the <A href="http://www-geant4.kek.jp/lxr/source/geometry/navigation/include/G4TransportationManager.hh">G4TransportationManager</A>, itself created at the very beginning of the simulation, before the main() method is called.
|
||||
* -# Initialization of the <A href="http://www-geant4.kek.jp/lxr/source/digits_hits/detector/include/G4SDManager.hh">sensitive detector manager</a>.
|
||||
* -# Initialization of the track container, which is an object of the <A HREF="http://www-geant4.kek.jp/lxr/source/event/src/G4StackManager.cc">G4StackManager</A> class. It stores the initial track and its secondaries until they are all simulated. The UserStackingAction can be used to segregate the secondary particles tracks to stack or not.
|
||||
* -# Stack tracks from the pimary event. This is done by calling the GimmePrimaries() method from the <A href="http://www-geant4.kek.jp/lxr/source/event/src/G4PrimaryTransformer.cc">G4PrimaryTransformer class</A>. This class performs the conversion of the primary particle object generated by the primary generator action into a dynamic particle, which is the particle object for the tracking.
|
||||
* -# Do the following loop while the track container is not empty:
|
||||
* -# Creation of a track pointer.
|
||||
* -# Execution of the User Event Actions.
|
||||
* -# Loop the folowing for each track in the container:
|
||||
* -# Assing the current track to the created track pointer
|
||||
* -# Call of the <A href="http://www-geant4.kek.jp/lxr/ident?i=ProcessOneTrack">G4TrackingManager::ProcessOneTrack()</A> method to simulate the track
|
||||
* -# Collect the track trajectory and stack (under conditions) the secondary tracks in the container
|
||||
* -# Call the termination of the sensitive detector manager.
|
||||
* -# Initialization of the state manager for a new run.
|
||||
*.
|
||||
|
||||
\subsection how_processtrack ProcessOneTrack()
|
||||
Let us now decribe the next step in the simulation hierarchy, which is the simulation of a track. This is done by calling the ProcessOneTrack() method which is a member of the <A href="http://www-geant4.kek.jp/lxr/source/tracking/include/G4TrackingManager.hh?v=7.0.p1">G4TrackingManager</A>.
|
||||
|
||||
After initialization of the new track taken from the stack manager, the Stepping Manager is called to set the initial step of the track. The Pre User Tracking Actions are taken and the step by step tracking is performed until the particle stops or dies. This is done by calling the G4SteppingManager::Stepping() method.
|
||||
|
||||
At each step, the user actions are taken before and after the step, and the process is selected according to cross section and priority given by the user. The Sensitive Detectors are also called at the step stage of the simulation.
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
BIN
geant4/LEMuSR/doc/images/2kev.gif
Executable file
After Width: | Height: | Size: 10 KiB |
BIN
geant4/LEMuSR/doc/images/2kevtof.gif
Executable file
After Width: | Height: | Size: 11 KiB |
BIN
geant4/LEMuSR/doc/images/BTasym.gif
Executable file
After Width: | Height: | Size: 11 KiB |
BIN
geant4/LEMuSR/doc/images/BTasym15.gif
Executable file
After Width: | Height: | Size: 12 KiB |
BIN
geant4/LEMuSR/doc/images/BTcounts.gif
Executable file
After Width: | Height: | Size: 10 KiB |
BIN
geant4/LEMuSR/doc/images/BTcounts15.gif
Executable file
After Width: | Height: | Size: 12 KiB |
BIN
geant4/LEMuSR/doc/images/Ez1.gif
Executable file
After Width: | Height: | Size: 11 KiB |
BIN
geant4/LEMuSR/doc/images/Ez2.gif
Executable file
After Width: | Height: | Size: 8.3 KiB |
BIN
geant4/LEMuSR/doc/images/FOCALth.gif
Executable file
After Width: | Height: | Size: 7.2 KiB |
BIN
geant4/LEMuSR/doc/images/LRasym.gif
Executable file
After Width: | Height: | Size: 17 KiB |
BIN
geant4/LEMuSR/doc/images/LRasym15.gif
Executable file
After Width: | Height: | Size: 12 KiB |
BIN
geant4/LEMuSR/doc/images/LRcounts.gif
Executable file
After Width: | Height: | Size: 10 KiB |
BIN
geant4/LEMuSR/doc/images/LRcounts15.gif
Executable file
After Width: | Height: | Size: 11 KiB |
BIN
geant4/LEMuSR/doc/images/POSTER.gif
Executable file
After Width: | Height: | Size: 526 KiB |
BIN
geant4/LEMuSR/doc/images/POSTER_FINAL.gif
Executable file
After Width: | Height: | Size: 526 KiB |
BIN
geant4/LEMuSR/doc/images/POSTER_elvezio.gif
Executable file
After Width: | Height: | Size: 491 KiB |
BIN
geant4/LEMuSR/doc/images/POSTER_tao.gif
Executable file
After Width: | Height: | Size: 525 KiB |
BIN
geant4/LEMuSR/doc/images/angled.gif
Executable file
After Width: | Height: | Size: 8.7 KiB |
BIN
geant4/LEMuSR/doc/images/asy.gif
Executable file
After Width: | Height: | Size: 7.8 KiB |
BIN
geant4/LEMuSR/doc/images/beamprofile.bmp
Executable file
After Width: | Height: | Size: 945 KiB |
BIN
geant4/LEMuSR/doc/images/beamprofile.gif
Executable file
After Width: | Height: | Size: 35 KiB |
BIN
geant4/LEMuSR/doc/images/cardio.bmp
Executable file
After Width: | Height: | Size: 2.5 MiB |
BIN
geant4/LEMuSR/doc/images/decaypos.gif
Executable file
After Width: | Height: | Size: 20 KiB |
BIN
geant4/LEMuSR/doc/images/det.bmp
Normal file
After Width: | Height: | Size: 621 KiB |
BIN
geant4/LEMuSR/doc/images/det2.bmp
Normal file
After Width: | Height: | Size: 524 KiB |
BIN
geant4/LEMuSR/doc/images/det2.gif
Normal file
After Width: | Height: | Size: 8.5 KiB |
3581
geant4/LEMuSR/doc/images/det3.eps
Normal file
BIN
geant4/LEMuSR/doc/images/det3.gif
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
geant4/LEMuSR/doc/images/det5.bmp
Executable file
After Width: | Height: | Size: 1.0 MiB |
BIN
geant4/LEMuSR/doc/images/det5.gif
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
geant4/LEMuSR/doc/images/det_L3.bmp
Normal file
After Width: | Height: | Size: 428 KiB |
BIN
geant4/LEMuSR/doc/images/det_L3.gif
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
geant4/LEMuSR/doc/images/det_anodecryo.bmp
Normal file
After Width: | Height: | Size: 528 KiB |
BIN
geant4/LEMuSR/doc/images/det_anodecryo.gif
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
geant4/LEMuSR/doc/images/det_anodemcp.bmp
Normal file
After Width: | Height: | Size: 496 KiB |
BIN
geant4/LEMuSR/doc/images/det_anodemcp.gif
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
geant4/LEMuSR/doc/images/det_cryo.gif
Normal file
After Width: | Height: | Size: 6.1 KiB |