Import Geant4 10.2.0 source tree
This commit is contained in:
@@ -106,6 +106,27 @@ class G4UIcmdWithoutParameter;
|
||||
class G4SingleParticleSource;
|
||||
class G4GeneralParticleSource;
|
||||
|
||||
/** Andrea Dotti Feb 2015
|
||||
* GPS messenger design requires some explanation for what distributions
|
||||
* parameters are concerned : Each thread has its own GPS
|
||||
* since primary generation is a user action.
|
||||
* However to save memory the underlying structures that provide the
|
||||
* GPS functionalities ( the G4SPS*Distribution classes and the
|
||||
* G4SPSRandomGenerator class)
|
||||
* are shared among threads. This implies that modifying parameters of sources
|
||||
* requires some attention:
|
||||
* 1- Only one thread should change source parameters.
|
||||
* 2- Changing of parameters can happen only between runs, when is guaranteed
|
||||
* that no thread is accessing them
|
||||
* 2- UI commands require that even if messenger is instantiated in a thread
|
||||
* the commands are executed in the master (this is possible since V10.1)
|
||||
* The simplest solution is to use UI commands to change GPS parameters and
|
||||
* avoid C++ APIs. If this is inevitable a simple solution is to instantiate
|
||||
* an instance of G4GeneralParticleSource explicitly in the master thread
|
||||
* (for example in G4VUserActionInitialization::BuildForMaster() and set the
|
||||
* defaults parameter there).
|
||||
*/
|
||||
|
||||
class G4GeneralParticleSourceMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
@@ -170,25 +191,25 @@ class G4GeneralParticleSourceMessenger: public G4UImessenger
|
||||
G4UIcmdWithADoubleAndUnit *parphiCmd1;
|
||||
G4UIcmdWithAString *confineCmd1;
|
||||
|
||||
//old ones, will be reomved soon
|
||||
G4UIcmdWithAString *typeCmd;
|
||||
G4UIcmdWithAString *shapeCmd;
|
||||
G4UIcmdWith3VectorAndUnit *centreCmd;
|
||||
G4UIcmdWith3Vector *posrot1Cmd;
|
||||
G4UIcmdWith3Vector *posrot2Cmd;
|
||||
G4UIcmdWithADoubleAndUnit *halfxCmd;
|
||||
G4UIcmdWithADoubleAndUnit *halfyCmd;
|
||||
G4UIcmdWithADoubleAndUnit *halfzCmd;
|
||||
G4UIcmdWithADoubleAndUnit *radiusCmd;
|
||||
G4UIcmdWithADoubleAndUnit *radius0Cmd;
|
||||
G4UIcmdWithADoubleAndUnit *possigmarCmd;
|
||||
G4UIcmdWithADoubleAndUnit *possigmaxCmd;
|
||||
G4UIcmdWithADoubleAndUnit *possigmayCmd;
|
||||
G4UIcmdWithADoubleAndUnit *paralpCmd;
|
||||
G4UIcmdWithADoubleAndUnit *partheCmd;
|
||||
G4UIcmdWithADoubleAndUnit *parphiCmd;
|
||||
G4UIcmdWithAString *confineCmd;
|
||||
|
||||
// //old ones, will be reomved soon
|
||||
// G4UIcmdWithAString *typeCmd;
|
||||
// G4UIcmdWithAString *shapeCmd;
|
||||
// G4UIcmdWith3VectorAndUnit *centreCmd;
|
||||
// G4UIcmdWith3Vector *posrot1Cmd;
|
||||
// G4UIcmdWith3Vector *posrot2Cmd;
|
||||
// G4UIcmdWithADoubleAndUnit *halfxCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *halfyCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *halfzCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *radiusCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *radius0Cmd;
|
||||
// G4UIcmdWithADoubleAndUnit *possigmarCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *possigmaxCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *possigmayCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *paralpCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *partheCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *parphiCmd;
|
||||
// G4UIcmdWithAString *confineCmd;
|
||||
|
||||
// angular commands
|
||||
G4UIdirectory* angularDirectory;
|
||||
G4UIcmdWithAString *angtypeCmd1;
|
||||
@@ -206,18 +227,18 @@ class G4GeneralParticleSourceMessenger: public G4UImessenger
|
||||
G4UIcmdWithABool *surfnormCmd1;
|
||||
|
||||
// old ones, will be removed soon
|
||||
G4UIcmdWithAString *angtypeCmd;
|
||||
G4UIcmdWith3Vector *angrot1Cmd;
|
||||
G4UIcmdWith3Vector *angrot2Cmd;
|
||||
G4UIcmdWithADoubleAndUnit *minthetaCmd;
|
||||
G4UIcmdWithADoubleAndUnit *maxthetaCmd;
|
||||
G4UIcmdWithADoubleAndUnit *minphiCmd;
|
||||
G4UIcmdWithADoubleAndUnit *maxphiCmd;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmarCmd;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmaxCmd;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmayCmd;
|
||||
G4UIcmdWithABool *useuserangaxisCmd;
|
||||
G4UIcmdWithABool *surfnormCmd;
|
||||
// G4UIcmdWithAString *angtypeCmd;
|
||||
// G4UIcmdWith3Vector *angrot1Cmd;
|
||||
// G4UIcmdWith3Vector *angrot2Cmd;
|
||||
// G4UIcmdWithADoubleAndUnit *minthetaCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *maxthetaCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *minphiCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *maxphiCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *angsigmarCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *angsigmaxCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *angsigmayCmd;
|
||||
// G4UIcmdWithABool *useuserangaxisCmd;
|
||||
// G4UIcmdWithABool *surfnormCmd;
|
||||
|
||||
// energy commands
|
||||
G4UIdirectory* energyDirectory;
|
||||
@@ -237,27 +258,27 @@ class G4GeneralParticleSourceMessenger: public G4UImessenger
|
||||
G4UIcmdWithABool *diffspecCmd1;
|
||||
|
||||
// old ones, will be removed soon
|
||||
G4UIcmdWithAString *energytypeCmd;
|
||||
G4UIcmdWithADoubleAndUnit *eminCmd;
|
||||
G4UIcmdWithADoubleAndUnit *emaxCmd;
|
||||
G4UIcmdWithADoubleAndUnit *monoenergyCmd;
|
||||
G4UIcmdWithADoubleAndUnit *engsigmaCmd;
|
||||
G4UIcmdWithADouble *alphaCmd;
|
||||
G4UIcmdWithADouble *tempCmd;
|
||||
G4UIcmdWithADouble *ezeroCmd;
|
||||
G4UIcmdWithADouble *gradientCmd;
|
||||
G4UIcmdWithADouble *interceptCmd;
|
||||
G4UIcmdWithoutParameter *calculateCmd;
|
||||
G4UIcmdWithABool *energyspecCmd;
|
||||
G4UIcmdWithABool *diffspecCmd;
|
||||
// G4UIcmdWithAString *energytypeCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *eminCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *emaxCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *monoenergyCmd;
|
||||
// G4UIcmdWithADoubleAndUnit *engsigmaCmd;
|
||||
// G4UIcmdWithADouble *alphaCmd;
|
||||
// G4UIcmdWithADouble *tempCmd;
|
||||
// G4UIcmdWithADouble *ezeroCmd;
|
||||
// G4UIcmdWithADouble *gradientCmd;
|
||||
// G4UIcmdWithADouble *interceptCmd;
|
||||
// G4UIcmdWithoutParameter *calculateCmd;
|
||||
// G4UIcmdWithABool *energyspecCmd;
|
||||
// G4UIcmdWithABool *diffspecCmd;
|
||||
|
||||
// histogram commands
|
||||
G4UIdirectory *histDirectory;
|
||||
G4UIcmdWith3Vector *histpointCmd;
|
||||
G4UIcmdWithAString *histnameCmd;
|
||||
G4UIcmdWithAString *arbintCmd;
|
||||
G4UIcmdWithAString *resethistCmd;
|
||||
// old ones, will be removed soon
|
||||
//G4UIcmdWith3Vector *histpointCmd;
|
||||
//G4UIcmdWithAString *histnameCmd;
|
||||
//G4UIcmdWithAString *arbintCmd;
|
||||
//G4UIcmdWithAString *resethistCmd;
|
||||
G4UIcmdWith3Vector *histpointCmd1;
|
||||
G4UIcmdWithAString *histfileCmd1;
|
||||
G4UIcmdWithAString *histnameCmd1;
|
||||
|
||||
Reference in New Issue
Block a user