Geant4  10.02.p03
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 G4VPhysicsConstructor * GetPhysics (G4int index) const
 
const G4VPhysicsConstructor * GetPhysics (const G4String &name) const
 
const G4VPhysicsConstructor * GetPhysicsWithType (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 &)
 
G4VUserPhysicsList & operator= (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 G4String & GetPhysicsTableDirectory () 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
 

Private Attributes

G4VPhysicsConstructor * fParticleList
 
G4VPhysicsConstructor * fEmPhysicsList
 
G4VPhysicsConstructor * fDecayList
 
G4VPhysicsConstructor * fRaddecayList
 
G4VPhysicsConstructor * fHadronElasticPhysicsList
 
G4VPhysicsConstructor * fHadronInelasticPhysicsList
 
G4VPhysicsConstructor * fStoppingPhysics
 
G4VPhysicsConstructor * fIonPhysics
 
G4VPhysicsConstructor * fNeutronTrackingCut
 
G4VPhysicsConstructor * fEmExtraPhysics
 
G4String fFilePotentialName
 
ExExChPhysicsListMessenger * fMessenger
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VModularPhysicsList
static const G4VMPLManager & GetSubInstanceManager ()
 
- Static Public Member Functions inherited from G4VUserPhysicsList
static const G4VUPLManager & GetSubInstanceManager ()
 
- Protected Types inherited from G4VModularPhysicsList
typedef G4VMPLData::G4PhysConstVectorData G4PhysConstVector
 
- Protected Member Functions inherited from G4VModularPhysicsList
 G4VModularPhysicsList (const G4VModularPhysicsList &)
 
G4VModularPhysicsList & operator= (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::G4PTblDicIterator * GetParticleIterator () const
 
- Protected Attributes inherited from G4VModularPhysicsList
G4int verboseLevel
 
G4int g4vmplInstanceID
 
- Protected Attributes inherited from G4VUserPhysicsList
G4ParticleTable * theParticleTable
 
G4int verboseLevel
 
G4double defaultCutValue
 
G4bool isSetDefaultCutValue
 
G4ProductionCutsTable * fCutsTable
 
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 34 of file ExExChPhysicsList.hh.

Constructor & Destructor Documentation

◆ ExExChPhysicsList()

ExExChPhysicsList::ExExChPhysicsList ( )

Definition at line 65 of file ExExChPhysicsList.cc.

66 
67  fFilePotentialName = "";
71 
73 
75 
77 
79 
81 
83 
85 
87 
89 
91 }
G4VPhysicsConstructor * fNeutronTrackingCut
ExExChPhysicsListMessenger * fMessenger
G4VPhysicsConstructor * fHadronElasticPhysicsList
G4VPhysicsConstructor * fRaddecayList
G4double fTransverseVariationMax
G4VPhysicsConstructor * fIonPhysics
G4VPhysicsConstructor * fParticleList
G4VPhysicsConstructor * fStoppingPhysics
G4VPhysicsConstructor * fEmPhysicsList
static const double angstrom
Definition: SystemOfUnits.h:81
G4VPhysicsConstructor * fEmExtraPhysics
G4VPhysicsConstructor * fDecayList
G4VPhysicsConstructor * fHadronInelasticPhysicsList
Here is the caller graph for this function:

◆ ~ExExChPhysicsList()

ExExChPhysicsList::~ExExChPhysicsList ( )

Definition at line 95 of file ExExChPhysicsList.cc.

95  {
96  delete fMessenger;
97  delete fEmPhysicsList;
98  delete fDecayList;
99  delete fRaddecayList;
102  delete fStoppingPhysics;
103  delete fIonPhysics;
104  delete fNeutronTrackingCut;
105  delete fEmExtraPhysics;
106 }
G4VPhysicsConstructor * fNeutronTrackingCut
ExExChPhysicsListMessenger * fMessenger
G4VPhysicsConstructor * fHadronElasticPhysicsList
G4VPhysicsConstructor * fRaddecayList
G4VPhysicsConstructor * fIonPhysics
G4VPhysicsConstructor * fStoppingPhysics
G4VPhysicsConstructor * fEmPhysicsList
G4VPhysicsConstructor * fEmExtraPhysics
G4VPhysicsConstructor * fDecayList
G4VPhysicsConstructor * fHadronInelasticPhysicsList
Here is the caller graph for this function:

Member Function Documentation

◆ AddChanneling()

void ExExChPhysicsList::AddChanneling ( )

Definition at line 148 of file ExExChPhysicsList.cc.

148  {
149 
150  XVCrystalCharacteristic* vPotentialEnergy =
152  XVCrystalCharacteristic* vElectricField =
154  XVCrystalCharacteristic* vNucleiDensity =
156  XVCrystalCharacteristic* vElectronDensity =
158 
159  XVCrystalIntegratedDensity* vIntegratedDensityNuclei =
161  vIntegratedDensityNuclei->SetPotential(vPotentialEnergy);
162  vIntegratedDensityNuclei->SetDensity(vNucleiDensity);
163 
164  XVCrystalIntegratedDensity* vIntegratedDensityElectron =
166  vIntegratedDensityElectron->SetPotential(vPotentialEnergy);
167  vIntegratedDensityElectron->SetDensity(vElectronDensity);
168 
169  XCrystalIntegratedDensityHub* vIntegratedDensityHub =
171  vIntegratedDensityHub->SetPotential(vPotentialEnergy);
172  vIntegratedDensityHub->SetDensityNuclei(vNucleiDensity);
173  vIntegratedDensityHub->SetDensityElectron(vElectronDensity);
174 
175  for(G4int i=-3;i<=+3;i++){
176  if(i!=0){
177  vIntegratedDensityHub->SetIntegratedDensityNuclei(
179  vIntegratedDensityHub->SetIntegratedDensityElectron(
181  }
182  }
183 
184  ExExChProcessChanneling* channeling =
186  channeling->SetPotential(vPotentialEnergy);
187  channeling->SetIntegratedDensity(vIntegratedDensityHub);
188  channeling->SetElectricField(vElectricField);
189  channeling->SetNucleiDensity(vNucleiDensity);
190  channeling->SetElectronDensity(vElectronDensity);
191 
193  channeling->SetTimeStepMin(fTimeStepMin);
194  if(fFilePotentialName != ""){
196  }
197 
199  particleIterator->reset();
200  while( (*particleIterator)() ){
201  G4ParticleDefinition* particle = particleIterator->value();
202  G4ProcessManager* pManager = particle->GetProcessManager();
203  G4String particleName = particle->GetParticleName();
204 
205  if(particle->GetPDGCharge() != 0)
206  {
207  pManager->AddDiscreteProcess(channeling);
208  }
209  }
210  G4cout << "\nPhysicsList::AddChanneling: Channeling process added...\n";
211  G4cout << G4endl;
212 }
void SetFileCharacteristicsName(const G4String &vFilename)
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4ProcessManager * GetProcessManager() const
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 *)
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
void SetPotential(XVCrystalCharacteristic *)
void SetNucleiDensity(XVCrystalCharacteristic *)
void SetTransverseVariationMax(G4double aDouble)
void SetElectronDensity(XVCrystalCharacteristic *)
std::vector< G4InuclElementaryParticle >::iterator particleIterator
Definition: G4BigBanger.cc:65
#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:

◆ AddInelaticProcesses()

void ExExChPhysicsList::AddInelaticProcesses ( )
Here is the caller graph for this function:

◆ ConstructParticle()

void ExExChPhysicsList::ConstructParticle ( void  )
virtual

Reimplemented from G4VModularPhysicsList.

Definition at line 142 of file ExExChPhysicsList.cc.

142  {
144 }
G4VPhysicsConstructor * fParticleList
virtual void ConstructParticle()=0
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConstructProcess()

void ExExChPhysicsList::ConstructProcess ( void  )
virtual

Reimplemented from G4VModularPhysicsList.

Definition at line 110 of file ExExChPhysicsList.cc.

110  {
111 
113 
115 
117 
119 
121 
123 
125 
127 
129 
131 
133 
134  AddChanneling();
135 
136  G4cout << "### ExExChPhysicsList::ConstructProcess is done" << G4endl;
137 }
G4VPhysicsConstructor * fNeutronTrackingCut
G4VPhysicsConstructor * fHadronElasticPhysicsList
G4VPhysicsConstructor * fRaddecayList
G4VPhysicsConstructor * fIonPhysics
G4VPhysicsConstructor * fParticleList
G4VPhysicsConstructor * fStoppingPhysics
G4VPhysicsConstructor * fEmPhysicsList
G4GLOB_DLL std::ostream G4cout
G4VPhysicsConstructor * fEmExtraPhysics
G4VPhysicsConstructor * fDecayList
G4VPhysicsConstructor * fHadronInelasticPhysicsList
virtual void ConstructProcess()=0
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFilePotentialName()

G4String ExExChPhysicsList::GetFilePotentialName ( )

Definition at line 236 of file ExExChPhysicsList.cc.

236  {
237  return fFilePotentialName;
238 }
Here is the caller graph for this function:

◆ GetTimeStepMin()

G4double ExExChPhysicsList::GetTimeStepMin ( )
inline

Definition at line 56 of file ExExChPhysicsList.hh.

56 {return fTimeStepMin;};
Here is the caller graph for this function:

◆ GetTransverseVariationMax()

G4double ExExChPhysicsList::GetTransverseVariationMax ( )
inline

Definition at line 53 of file ExExChPhysicsList.hh.

53 {return fTransverseVariationMax;};
G4double fTransverseVariationMax
Here is the caller graph for this function:

◆ SetCuts()

void ExExChPhysicsList::SetCuts ( )
virtual

Reimplemented from G4VUserPhysicsList.

Definition at line 217 of file ExExChPhysicsList.cc.

218 {
219  // These values are used as the default production thresholds
220  // for the world volume.
222 
223 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetFilePotentialName()

void ExExChPhysicsList::SetFilePotentialName ( const G4String &  vFilename)

Definition at line 227 of file ExExChPhysicsList.cc.

227  {
228  if(fFilePotentialName != vFilename){
229  fFilePotentialName = vFilename;
231  }
232 }
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:

◆ SetTimeStepMin()

void ExExChPhysicsList::SetTimeStepMin ( G4double  aDouble)
inline

Definition at line 57 of file ExExChPhysicsList.hh.

57 {fTimeStepMin = aDouble;};
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetTransverseVariationMax()

void ExExChPhysicsList::SetTransverseVariationMax ( G4double  aDouble)
inline

Definition at line 54 of file ExExChPhysicsList.hh.

54 {fTransverseVariationMax = aDouble;};
G4double fTransverseVariationMax
Here is the caller graph for this function:

Member Data Documentation

◆ fDecayList

G4VPhysicsConstructor* ExExChPhysicsList::fDecayList
private

Definition at line 39 of file ExExChPhysicsList.hh.

◆ fEmExtraPhysics

G4VPhysicsConstructor* ExExChPhysicsList::fEmExtraPhysics
private

Definition at line 46 of file ExExChPhysicsList.hh.

◆ fEmPhysicsList

G4VPhysicsConstructor* ExExChPhysicsList::fEmPhysicsList
private

Definition at line 38 of file ExExChPhysicsList.hh.

◆ fFilePotentialName

G4String ExExChPhysicsList::fFilePotentialName
private

Definition at line 48 of file ExExChPhysicsList.hh.

◆ fHadronElasticPhysicsList

G4VPhysicsConstructor* ExExChPhysicsList::fHadronElasticPhysicsList
private

Definition at line 41 of file ExExChPhysicsList.hh.

◆ fHadronInelasticPhysicsList

G4VPhysicsConstructor* ExExChPhysicsList::fHadronInelasticPhysicsList
private

Definition at line 42 of file ExExChPhysicsList.hh.

◆ fIonPhysics

G4VPhysicsConstructor* ExExChPhysicsList::fIonPhysics
private

Definition at line 44 of file ExExChPhysicsList.hh.

◆ fMessenger

ExExChPhysicsListMessenger* ExExChPhysicsList::fMessenger
private

Definition at line 49 of file ExExChPhysicsList.hh.

◆ fNeutronTrackingCut

G4VPhysicsConstructor* ExExChPhysicsList::fNeutronTrackingCut
private

Definition at line 45 of file ExExChPhysicsList.hh.

◆ fParticleList

G4VPhysicsConstructor* ExExChPhysicsList::fParticleList
private

Definition at line 37 of file ExExChPhysicsList.hh.

◆ fRaddecayList

G4VPhysicsConstructor* ExExChPhysicsList::fRaddecayList
private

Definition at line 40 of file ExExChPhysicsList.hh.

◆ fStoppingPhysics

G4VPhysicsConstructor* ExExChPhysicsList::fStoppingPhysics
private

Definition at line 43 of file ExExChPhysicsList.hh.

◆ fTimeStepMin

G4double ExExChPhysicsList::fTimeStepMin

Definition at line 73 of file ExExChPhysicsList.hh.

◆ fTransverseVariationMax

G4double ExExChPhysicsList::fTransverseVariationMax

Definition at line 74 of file ExExChPhysicsList.hh.


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