Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
exrdmPhysicsList Class Reference

#include <exrdmPhysicsList.hh>

Inheritance diagram for exrdmPhysicsList:
G4VModularPhysicsList G4VUserPhysicsList

Public Member Functions

 exrdmPhysicsList ()
 
virtual ~exrdmPhysicsList ()
 
virtual void ConstructParticle ()
 
virtual void SetCuts ()
 
void SetCutForGamma (G4double)
 
void SetCutForElectron (G4double)
 
void SetCutForPositron (G4double)
 
void SelectPhysicsList (const G4String &name)
 
virtual void ConstructProcess ()
 
void SetTargetCut (G4double val)
 
void SetDetectorCut (G4double val)
 
- Public Member Functions inherited from G4VModularPhysicsList
 G4VModularPhysicsList ()
 
virtual ~G4VModularPhysicsList ()
 
void RegisterPhysics (G4VPhysicsConstructor *)
 
const G4VPhysicsConstructorGetPhysics (G4int index) const
 
const G4VPhysicsConstructorGetPhysics (const G4String &name) const
 
const G4VPhysicsConstructorGetPhysicsWithType (G4int physics_type) const
 
void ReplacePhysics (G4VPhysicsConstructor *)
 
void RemovePhysics (G4VPhysicsConstructor *)
 
void RemovePhysics (G4int type)
 
void RemovePhysics (const G4String &name)
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 
- Public Member Functions inherited from G4VUserPhysicsList
 G4VUserPhysicsList ()
 
virtual ~G4VUserPhysicsList ()
 
 G4VUserPhysicsList (const G4VUserPhysicsList &)
 
G4VUserPhysicsListoperator= (const G4VUserPhysicsList &)
 
void Construct ()
 
void UseCoupledTransportation (G4bool vl=true)
 
void SetDefaultCutValue (G4double newCutValue)
 
G4double GetDefaultCutValue () const
 
void BuildPhysicsTable ()
 
void PreparePhysicsTable (G4ParticleDefinition *)
 
void BuildPhysicsTable (G4ParticleDefinition *)
 
G4bool StorePhysicsTable (const G4String &directory=".")
 
G4bool IsPhysicsTableRetrieved () const
 
G4bool IsStoredInAscii () const
 
const G4StringGetPhysicsTableDirectory () const
 
void SetPhysicsTableRetrieved (const G4String &directory="")
 
void SetStoredInAscii ()
 
void ResetPhysicsTableRetrieved ()
 
void ResetStoredInAscii ()
 
void DumpList () const
 
void DumpCutValuesTable (G4int flag=1)
 
void DumpCutValuesTableIfRequested ()
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
void SetCutsWithDefault ()
 
void SetCutValue (G4double aCut, const G4String &pname)
 
G4double GetCutValue (const G4String &pname) const
 
void SetCutValue (G4double aCut, const G4String &pname, const G4String &rname)
 
void SetParticleCuts (G4double cut, G4ParticleDefinition *particle, G4Region *region=0)
 
void SetParticleCuts (G4double cut, const G4String &particleName, G4Region *region=0)
 
void SetCutsForRegion (G4double aCut, const G4String &rname)
 
void ResetCuts ()
 obsolete methods More...
 
void SetApplyCuts (G4bool value, const G4String &name)
 
G4bool GetApplyCuts (const G4String &name) const
 
void RemoveProcessManager ()
 
void AddProcessManager (G4ParticleDefinition *newParticle, G4ProcessManager *newManager=0)
 
void CheckParticleList ()
 
void DisableCheckParticleList ()
 
G4int GetInstanceID () const
 
void InitializeWorker ()
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VModularPhysicsList
static const G4VMPLManagerGetSubInstanceManager ()
 
- Static Public Member Functions inherited from G4VUserPhysicsList
static const G4VUPLManagerGetSubInstanceManager ()
 
- Protected Types inherited from G4VModularPhysicsList
typedef
G4VMPLData::G4PhysConstVectorData 
G4PhysConstVector
 
- Protected Member Functions inherited from G4VModularPhysicsList
 G4VModularPhysicsList (const G4VModularPhysicsList &)
 
G4VModularPhysicsListoperator= (const G4VModularPhysicsList &)
 
- Protected Member Functions inherited from G4VUserPhysicsList
void AddTransportation ()
 
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
void BuildIntegralPhysicsTable (G4VProcess *, G4ParticleDefinition *)
 
virtual void RetrievePhysicsTable (G4ParticleDefinition *, const G4String &directory, G4bool ascii=false)
 
void InitializeProcessManager ()
 
- Protected Attributes inherited from G4VModularPhysicsList
G4int verboseLevel
 
G4int g4vmplInstanceID
 
- Protected Attributes inherited from G4VUserPhysicsList
G4ParticleTabletheParticleTable
 
G4int verboseLevel
 
G4double defaultCutValue
 
G4bool isSetDefaultCutValue
 
G4ProductionCutsTablefCutsTable
 
G4bool fRetrievePhysicsTable
 
G4bool fStoredInAscii
 
G4bool fIsCheckedForRetrievePhysicsTable
 
G4bool fIsRestoredCutValues
 
G4String directoryPhysicsTable
 
G4bool fDisableCheckParticleList
 
G4int g4vuplInstanceID
 
- Static Protected Attributes inherited from G4VModularPhysicsList
static G4RUN_DLL G4VMPLManager G4VMPLsubInstanceManager
 
- Static Protected Attributes inherited from G4VUserPhysicsList
static G4RUN_DLL G4VUPLManager subInstanceManager
 

Detailed Description

Definition at line 47 of file exrdmPhysicsList.hh.

Constructor & Destructor Documentation

exrdmPhysicsList::exrdmPhysicsList ( )

Definition at line 74 of file exrdmPhysicsList.cc.

References G4VUserPhysicsList::defaultCutValue, G4LossTableManager::Instance(), python.hepunit::mm, and G4VModularPhysicsList::SetVerboseLevel().

74  :
76  fCutForGamma(1.*mm), fCutForElectron(1.*mm),
77  fCutForPositron(1.*mm),
78  fEmPhysicsList(0),
79  fRaddecayList(0),
80  fParticleList(0),
81  fHadPhysicsList(0),
82  fNhadcomp(0),
83  fPMessenger(0),fDetectorCuts(0), fTargetCuts(0)
84 {
86  defaultCutValue =1.*mm;
87 
88  fPMessenger = new exrdmPhysicsListMessenger(this);
89 
90  SetVerboseLevel(1);
91 
92  //default physics
93  fParticleList = new G4DecayPhysics();
94 
95  //default physics
96  fRaddecayList = new G4RadioactiveDecayPhysics();
97 
98  // EM physics
99  fEmPhysicsList = new G4EmStandardPhysics();
100 }
static G4LossTableManager * Instance()
void SetVerboseLevel(G4int value)
exrdmPhysicsList::~exrdmPhysicsList ( )
virtual

Definition at line 104 of file exrdmPhysicsList.cc.

105 {
106  delete fPMessenger;
107  delete fRaddecayList;
108  delete fEmPhysicsList;
109  if (fHadPhysicsList) delete fHadPhysicsList;
110  if (fNhadcomp > 0) {
111  for(G4int i=0; i<fNhadcomp; i++) {
112  delete fHadronPhys[i];
113  }
114  }
115 }
int G4int
Definition: G4Types.hh:78

Member Function Documentation

void exrdmPhysicsList::ConstructParticle ( void  )
virtual

Reimplemented from G4VModularPhysicsList.

Definition at line 119 of file exrdmPhysicsList.cc.

References G4VPhysicsConstructor::ConstructParticle().

120 {
121  fParticleList->ConstructParticle();
122 }
virtual void ConstructParticle()=0
void exrdmPhysicsList::ConstructProcess ( void  )
virtual

Reimplemented from G4VModularPhysicsList.

Definition at line 126 of file exrdmPhysicsList.cc.

References G4VUserPhysicsList::AddTransportation(), G4VPhysicsConstructor::ConstructProcess(), G4cout, and G4endl.

127 {
129  // em
130  fEmPhysicsList->ConstructProcess();
131  // decays
132  fParticleList->ConstructProcess();
133  fRaddecayList->ConstructProcess();
134  // had
135  if (fNhadcomp > 0) {
136  for(G4int i=0; i<fNhadcomp; i++) {
137  (fHadronPhys[i])->ConstructProcess();
138  }
139  }
140  if (fHadPhysicsList) fHadPhysicsList->ConstructProcess();
141  G4cout << "### exrdmPhysicsList::ConstructProcess is done" << G4endl;
142 
143 }
int G4int
Definition: G4Types.hh:78
G4GLOB_DLL std::ostream G4cout
virtual void ConstructProcess()
virtual void ConstructProcess()=0
#define G4endl
Definition: G4ios.hh:61
void exrdmPhysicsList::SelectPhysicsList ( const G4String name)

Definition at line 147 of file exrdmPhysicsList.cc.

References G4cout, G4endl, and G4VModularPhysicsList::verboseLevel.

Referenced by exrdmPhysicsListMessenger::SetNewValue().

148 {
149  if (verboseLevel>1) {
150  G4cout << "exrdmPhysicsList::SelectPhysicsList: <" << name << ">" << G4endl;
151  }
152  // default Had physics
153  if (name == "Hadron" && !fHadPhysicsList) {
154  fHadPhysicsList = new exrdmPhysListHadron("hadron");
155  } else if (name == "QGSP_BERT") {
156  AddExtraBuilders(false);
157  fHadPhysicsList = new G4HadronPhysicsQGSP_BERT(verboseLevel);
158  } else if (name == "QGSP_BIC" && !fHadPhysicsList) {
159  AddExtraBuilders(false);
160  fHadPhysicsList = new G4HadronPhysicsQGSP_BIC(verboseLevel);
161  } else if (name == "QGSP_BERT_HP" && !fHadPhysicsList) {
162  AddExtraBuilders(true);
163  fHadPhysicsList = new G4HadronPhysicsQGSP_BERT_HP(verboseLevel);
164  } else if (name == "QGSP_BIC_HP" && !fHadPhysicsList) {
165  AddExtraBuilders(true);
166  fHadPhysicsList = new G4HadronPhysicsQGSP_BIC_HP(verboseLevel);
167  } else if (name == "emlivermore") {
168  delete fEmPhysicsList;
169  fEmPhysicsList = new G4EmLivermorePhysics(verboseLevel);
170  } else if (name == "empenelope") {
171  delete fEmPhysicsList;
172  fEmPhysicsList = new G4EmPenelopePhysics(verboseLevel);
173  } else if (name == "emstandard") {
174  delete fEmPhysicsList;
175  fEmPhysicsList = new G4EmStandardPhysics(verboseLevel);
176  } else if (name == "emstandard_opt4") {
177  delete fEmPhysicsList;
178  fEmPhysicsList = new G4EmStandardPhysics_option4(verboseLevel);
179  } else {
180  G4cout << "exrdmPhysicsList WARNING wrong or unkonwn <"
181  << name << "> Physics " << G4endl;
182  }
183 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void exrdmPhysicsList::SetCutForElectron ( G4double  cut)

Definition at line 233 of file exrdmPhysicsList.cc.

References G4Electron::Electron(), and G4VUserPhysicsList::SetParticleCuts().

Referenced by exrdmPhysicsListMessenger::SetNewValue().

234 {
235  fCutForElectron = cut;
236  SetParticleCuts(fCutForElectron, G4Electron::Electron());
237 }
void SetParticleCuts(G4double cut, G4ParticleDefinition *particle, G4Region *region=0)
static G4Electron * Electron()
Definition: G4Electron.cc:94
void exrdmPhysicsList::SetCutForGamma ( G4double  cut)

Definition at line 225 of file exrdmPhysicsList.cc.

References G4Gamma::Gamma(), and G4VUserPhysicsList::SetParticleCuts().

Referenced by exrdmPhysicsListMessenger::SetNewValue().

226 {
227  fCutForGamma = cut;
228  SetParticleCuts(fCutForGamma, G4Gamma::Gamma());
229 }
void SetParticleCuts(G4double cut, G4ParticleDefinition *particle, G4Region *region=0)
static G4Gamma * Gamma()
Definition: G4Gamma.cc:86
void exrdmPhysicsList::SetCutForPositron ( G4double  cut)

Definition at line 241 of file exrdmPhysicsList.cc.

References G4Positron::Positron(), and G4VUserPhysicsList::SetParticleCuts().

Referenced by exrdmPhysicsListMessenger::SetNewValue().

242 {
243  fCutForPositron = cut;
244  SetParticleCuts(fCutForPositron, G4Positron::Positron());
245 }
void SetParticleCuts(G4double cut, G4ParticleDefinition *particle, G4Region *region=0)
static G4Positron * Positron()
Definition: G4Positron.cc:94
void exrdmPhysicsList::SetCuts ( )
virtual

Reimplemented from G4VUserPhysicsList.

Definition at line 203 of file exrdmPhysicsList.cc.

References G4VUserPhysicsList::DumpCutValuesTable(), G4cout, G4endl, G4RegionStore::GetInstance(), G4VUserPhysicsList::SetCutValue(), SetDetectorCut(), G4Region::SetProductionCuts(), SetTargetCut(), and G4VModularPhysicsList::verboseLevel.

204 {
205  SetCutValue(fCutForGamma, "gamma");
206  SetCutValue(fCutForElectron, "e-");
207  SetCutValue(fCutForPositron, "e+");
208  G4cout << "world cuts are set" << G4endl;
209 
210  if( !fTargetCuts ) SetTargetCut(fCutForElectron);
211  G4Region* region = (G4RegionStore::GetInstance())->GetRegion("Target");
212  region->SetProductionCuts(fTargetCuts);
213  G4cout << "Target cuts are set" << G4endl;
214 
215  if( !fDetectorCuts ) SetDetectorCut(fCutForElectron);
216  region = (G4RegionStore::GetInstance())->GetRegion("Detector");
217  region->SetProductionCuts(fDetectorCuts);
218  G4cout << "Detector cuts are set" << G4endl;
219 
221 }
void SetCutValue(G4double aCut, const G4String &pname)
void SetTargetCut(G4double val)
static G4RegionStore * GetInstance()
void DumpCutValuesTable(G4int flag=1)
G4GLOB_DLL std::ostream G4cout
void SetDetectorCut(G4double val)
#define G4endl
Definition: G4ios.hh:61
void SetProductionCuts(G4ProductionCuts *cut)
void exrdmPhysicsList::SetDetectorCut ( G4double  val)

Definition at line 261 of file exrdmPhysicsList.cc.

References idxG4ElectronCut, idxG4GammaCut, idxG4PositronCut, and G4ProductionCuts::SetProductionCut().

Referenced by SetCuts(), and exrdmPhysicsListMessenger::SetNewValue().

262 {
263  if( !fDetectorCuts ) fDetectorCuts = new G4ProductionCuts();
264 
265  fDetectorCuts->SetProductionCut(cut, idxG4GammaCut);
266  fDetectorCuts->SetProductionCut(cut, idxG4ElectronCut);
267  fDetectorCuts->SetProductionCut(cut, idxG4PositronCut);
268 }
void SetProductionCut(G4double cut, G4int index=-1)
void exrdmPhysicsList::SetTargetCut ( G4double  val)

Definition at line 249 of file exrdmPhysicsList.cc.

References idxG4ElectronCut, idxG4GammaCut, idxG4PositronCut, and G4ProductionCuts::SetProductionCut().

Referenced by SetCuts(), and exrdmPhysicsListMessenger::SetNewValue().

250 {
251  if( !fTargetCuts ) fTargetCuts = new G4ProductionCuts();
252 
253  fTargetCuts->SetProductionCut(cut, idxG4GammaCut);
254  fTargetCuts->SetProductionCut(cut, idxG4ElectronCut);
255  fTargetCuts->SetProductionCut(cut, idxG4PositronCut);
256 
257 }
void SetProductionCut(G4double cut, G4int index=-1)

The documentation for this class was generated from the following files: