Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ExExChPhysicsList Class Reference

#include <ExExChPhysicsList.hh>

Inheritance diagram for ExExChPhysicsList:
Collaboration diagram for ExExChPhysicsList:

Public Member Functions

G4double GetTransverseVariationMax ()
 
void SetTransverseVariationMax (G4double aDouble)
 
G4double GetTimeStepMin ()
 
void SetTimeStepMin (G4double aDouble)
 
 ExExChPhysicsList ()
 
 ~ExExChPhysicsList ()
 
void AddChanneling ()
 
void AddInelaticProcesses ()
 
void ConstructParticle ()
 
void ConstructProcess ()
 
void SetCuts ()
 
void SetFilePotentialName (const G4String &)
 
G4String GetFilePotentialName ()
 
- 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 ()
 

Public Attributes

G4double fTimeStepMin
 
G4double fTransverseVariationMax
 

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 ()
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
- 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 37 of file ExExChPhysicsList.hh.

Constructor & Destructor Documentation

ExExChPhysicsList::ExExChPhysicsList ( )

Definition at line 68 of file ExExChPhysicsList.cc.

69 
70  fFilePotentialName = "";
73  fParticleList = new G4DecayPhysics();
74 
75  fDecayList = new G4RadioactiveDecayPhysics();
76 
77  fRaddecayList = new G4DecayPhysics();
78 
79  fEmPhysicsList = new ExExChPhysListEmStandardSS();
80 
81  fHadronInelasticPhysicsList = new ExExChHadronPhysicsQGSP_BIC();
82 
83  fHadronElasticPhysicsList = new ExExChHadronElasticPhysics();
84 
85  fStoppingPhysics = new G4StoppingPhysics();
86 
87  fIonPhysics = new ExExChIonPhysics();
88 
89  fNeutronTrackingCut = new G4NeutronTrackingCut();
90 
91  fEmExtraPhysics = new G4EmExtraPhysics();
92 
93  fMessenger = new ExExChPhysicsListMessenger(this);
94 }
G4double fTransverseVariationMax
static constexpr double angstrom
Definition: SystemOfUnits.h:82
ExExChPhysicsList::~ExExChPhysicsList ( )

Definition at line 98 of file ExExChPhysicsList.cc.

98  {
99  delete fMessenger;
100  delete fEmPhysicsList;
101  delete fDecayList;
102  delete fRaddecayList;
103  delete fHadronElasticPhysicsList;
104  delete fHadronInelasticPhysicsList;
105  delete fStoppingPhysics;
106  delete fIonPhysics;
107  delete fNeutronTrackingCut;
108  delete fEmExtraPhysics;
109 }

Member Function Documentation

void ExExChPhysicsList::AddChanneling ( )

Definition at line 151 of file ExExChPhysicsList.cc.

151  {
152 
153  XVCrystalCharacteristic* vPotentialEnergy =
155  XVCrystalCharacteristic* vElectricField =
157  XVCrystalCharacteristic* vNucleiDensity =
159  XVCrystalCharacteristic* vElectronDensity =
161 
162  XVCrystalIntegratedDensity* vIntegratedDensityNuclei =
164  vIntegratedDensityNuclei->SetPotential(vPotentialEnergy);
165  vIntegratedDensityNuclei->SetDensity(vNucleiDensity);
166 
167  XVCrystalIntegratedDensity* vIntegratedDensityElectron =
169  vIntegratedDensityElectron->SetPotential(vPotentialEnergy);
170  vIntegratedDensityElectron->SetDensity(vElectronDensity);
171 
172  XCrystalIntegratedDensityHub* vIntegratedDensityHub =
174  vIntegratedDensityHub->SetPotential(vPotentialEnergy);
175  vIntegratedDensityHub->SetDensityNuclei(vNucleiDensity);
176  vIntegratedDensityHub->SetDensityElectron(vElectronDensity);
177 
178  for(G4int i=-3;i<=+3;i++){
179  if(i!=0){
180  vIntegratedDensityHub->SetIntegratedDensityNuclei(
182  vIntegratedDensityHub->SetIntegratedDensityElectron(
184  }
185  }
186 
187  ExExChProcessChanneling* channeling =
189  channeling->SetPotential(vPotentialEnergy);
190  channeling->SetIntegratedDensity(vIntegratedDensityHub);
191  channeling->SetElectricField(vElectricField);
192  channeling->SetNucleiDensity(vNucleiDensity);
193  channeling->SetElectronDensity(vElectronDensity);
194 
196  channeling->SetTimeStepMin(fTimeStepMin);
197  if(fFilePotentialName != ""){
198  channeling->SetFileCharacteristicsName(fFilePotentialName);
199  }
200 
202  particleIterator->reset();
203  while( (*particleIterator)() ){
204  G4ParticleDefinition* particle = particleIterator->value();
205  G4ProcessManager* pManager = particle->GetProcessManager();
206  G4String particleName = particle->GetParticleName();
207 
208  if(particle->GetPDGCharge() != 0)
209  {
210  pManager->AddDiscreteProcess(channeling);
211  }
212  }
213  G4cout << "\nPhysicsList::AddChanneling: Channeling process added...\n";
214  G4cout << G4endl;
215 }
void SetFileCharacteristicsName(const G4String &vFilename)
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
void SetDensityElectron(XVCrystalCharacteristic *)
int G4int
Definition: G4Types.hh:78
G4double fTransverseVariationMax
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
void SetDensityNuclei(XVCrystalCharacteristic *)
void SetPotential(XVCrystalCharacteristic *)
void SetTimeStepMin(G4double aDouble)
void SetPotential(XVCrystalCharacteristic *)
void SetIntegratedDensityNuclei(XVCrystalIntegratedDensity *, G4int)
void SetDensity(XVCrystalCharacteristic *)
void SetIntegratedDensity(XCrystalIntegratedDensityHub *)
void SetElectricField(XVCrystalCharacteristic *)
G4ProcessManager * GetProcessManager() const
void SetPotential(XVCrystalCharacteristic *)
void SetNucleiDensity(XVCrystalCharacteristic *)
void SetTransverseVariationMax(G4double aDouble)
void SetElectronDensity(XVCrystalCharacteristic *)
std::vector< G4InuclElementaryParticle >::iterator particleIterator
Definition: G4BigBanger.cc:65
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
#define G4endl
Definition: G4ios.hh:61
void SetIntegratedDensityElectron(XVCrystalIntegratedDensity *, G4int)
G4double GetPDGCharge() const

Here is the call graph for this function:

Here is the caller graph for this function:

void ExExChPhysicsList::AddInelaticProcesses ( )
void ExExChPhysicsList::ConstructParticle ( void  )
virtual

Reimplemented from G4VModularPhysicsList.

Definition at line 145 of file ExExChPhysicsList.cc.

145  {
146  fParticleList->ConstructParticle();
147 }
virtual void ConstructParticle()=0

Here is the call graph for this function:

void ExExChPhysicsList::ConstructProcess ( void  )
virtual

Reimplemented from G4VModularPhysicsList.

Definition at line 113 of file ExExChPhysicsList.cc.

113  {
114 
116 
117  fParticleList->ConstructProcess();
118 
119  fEmPhysicsList->ConstructProcess();
120 
121  fDecayList->ConstructProcess();
122 
123  fRaddecayList->ConstructProcess();
124 
125  fHadronElasticPhysicsList->ConstructProcess();
126 
127  fHadronInelasticPhysicsList->ConstructProcess();
128 
129  fStoppingPhysics->ConstructProcess();
130 
131  fIonPhysics->ConstructProcess();
132 
133  fNeutronTrackingCut->ConstructProcess();
134 
135  fEmExtraPhysics->ConstructProcess();
136 
137  AddChanneling();
138 
139  G4cout << "### ExExChPhysicsList::ConstructProcess is done" << G4endl;
140 }
G4GLOB_DLL std::ostream G4cout
virtual void ConstructProcess()=0
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

G4String ExExChPhysicsList::GetFilePotentialName ( )

Definition at line 239 of file ExExChPhysicsList.cc.

239  {
240  return fFilePotentialName;
241 }

Here is the caller graph for this function:

G4double ExExChPhysicsList::GetTimeStepMin ( )
inline

Definition at line 59 of file ExExChPhysicsList.hh.

59 {return fTimeStepMin;};

Here is the caller graph for this function:

G4double ExExChPhysicsList::GetTransverseVariationMax ( )
inline

Definition at line 56 of file ExExChPhysicsList.hh.

56 {return fTransverseVariationMax;};
G4double fTransverseVariationMax

Here is the caller graph for this function:

void ExExChPhysicsList::SetCuts ( )
virtual

Reimplemented from G4VUserPhysicsList.

Definition at line 220 of file ExExChPhysicsList.cc.

221 {
222  // These values are used as the default production thresholds
223  // for the world volume.
225 
226 }

Here is the call graph for this function:

void ExExChPhysicsList::SetFilePotentialName ( const G4String vFilename)

Definition at line 230 of file ExExChPhysicsList.cc.

230  {
231  if(fFilePotentialName != vFilename){
232  fFilePotentialName = vFilename;
234  }
235 }
void PhysicsHasBeenModified()
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:79

Here is the call graph for this function:

Here is the caller graph for this function:

void ExExChPhysicsList::SetTimeStepMin ( G4double  aDouble)
inline

Definition at line 60 of file ExExChPhysicsList.hh.

60 {fTimeStepMin = aDouble;};

Here is the caller graph for this function:

void ExExChPhysicsList::SetTransverseVariationMax ( G4double  aDouble)
inline

Definition at line 57 of file ExExChPhysicsList.hh.

57 {fTransverseVariationMax = aDouble;};
G4double fTransverseVariationMax

Here is the caller graph for this function:

Member Data Documentation

G4double ExExChPhysicsList::fTimeStepMin

Definition at line 76 of file ExExChPhysicsList.hh.

G4double ExExChPhysicsList::fTransverseVariationMax

Definition at line 77 of file ExExChPhysicsList.hh.


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