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

#include <Em10PhysicsList.hh>

Inheritance diagram for Em10PhysicsList:
G4VModularPhysicsList G4VUserPhysicsList

Public Member Functions

 Em10PhysicsList (Em10DetectorConstruction *)
 
 ~Em10PhysicsList ()
 
void ConstructParticle ()
 
void ConstructProcess ()
 
void SetCuts ()
 
void SetGammaCut (G4double)
 
void SetElectronCut (G4double)
 
void SetRegGammaCut (G4double cut)
 
void SetRegElectronCut (G4double cut)
 
void SetRegPositronCut (G4double cut)
 
void SetRadiatorCuts ()
 
void SetDetectorCuts ()
 
void SetMaxStep (G4double)
 
void SetXTRModel (G4String m)
 
- 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 Em10PhysicsList.hh.

Constructor & Destructor Documentation

Em10PhysicsList::Em10PhysicsList ( Em10DetectorConstruction p)

Definition at line 95 of file Em10PhysicsList.cc.

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

97  MaxChargedStep(DBL_MAX),
98  theeminusStepCut(0), theeplusStepCut(0),
99  fRadiatorCuts(0),fDetectorCuts(0),fXTRModel("transpM")
100 {
101  pDet = p;
102 
103  // world cuts
104 
105  defaultCutValue = 1.*mm;
106  cutForGamma = defaultCutValue;
107  cutForElectron = defaultCutValue;
108  cutForPositron = defaultCutValue;
109 
110  // Region cuts
111 
112  fGammaCut = defaultCutValue;
113  fElectronCut = defaultCutValue;
114  fPositronCut = defaultCutValue;
115 
116  SetVerboseLevel(1);
117  physicsListMessenger = new Em10PhysicsListMessenger(this);
118 }
const char * p
Definition: xmltok.h:285
void SetVerboseLevel(G4int value)
#define DBL_MAX
Definition: templates.hh:83
Em10PhysicsList::~Em10PhysicsList ( )

Definition at line 120 of file Em10PhysicsList.cc.

121 {
122  delete physicsListMessenger;
123 }

Member Function Documentation

void Em10PhysicsList::ConstructParticle ( void  )
virtual

Reimplemented from G4VModularPhysicsList.

Definition at line 129 of file Em10PhysicsList.cc.

130 {
131  // In this method, static member functions should be called
132  // for all particles which you want to use.
133  // This ensures that objects of these particle types will be
134  // created in the program.
135 
136  ConstructBosons();
137  ConstructLeptons();
138  ConstructMesons();
139  ConstructBarions();
140 }
void Em10PhysicsList::ConstructProcess ( void  )
virtual

Reimplemented from G4VModularPhysicsList.

Definition at line 192 of file Em10PhysicsList.cc.

References G4VUserPhysicsList::AddTransportation().

193 {
195  ConstructEM();
196  ConstructGeneral();
197 }
void Em10PhysicsList::SetCuts ( )
virtual

Reimplemented from G4VUserPhysicsList.

Definition at line 433 of file Em10PhysicsList.cc.

References G4VUserPhysicsList::defaultCutValue, G4VUserPhysicsList::DumpCutValuesTable(), G4BestUnit, G4cout, G4endl, G4RegionStore::GetInstance(), G4VUserPhysicsList::SetCutValue(), SetDetectorCuts(), G4Region::SetProductionCuts(), SetRadiatorCuts(), and G4VModularPhysicsList::verboseLevel.

434 {
435  // set cut values for gamma at first and for e- second and next for e+,
436  // because some processes for e+/e- need cut values for gamma
437 
438  SetCutValue(cutForGamma, "gamma", "DefaultRegionForTheWorld");
439  SetCutValue(cutForElectron, "e-", "DefaultRegionForTheWorld");
440  SetCutValue(cutForPositron, "e+", "DefaultRegionForTheWorld");
441 
442  if (verboseLevel > 0)
443  {
444  G4cout << "Em10PhysicsList::SetCuts:";
445  G4cout << "CutLength for e-, e+ and gamma is: "
446  << G4BestUnit(defaultCutValue,"Length") << G4endl;
447  }
448 
449  if( !fRadiatorCuts ) SetRadiatorCuts();
450 
451  G4Region* region = (G4RegionStore::GetInstance())->GetRegion("XTRradiator");
452  region->SetProductionCuts(fRadiatorCuts);
453  G4cout << "Radiator cuts are set" << G4endl;
454 
455  if( !fDetectorCuts ) SetDetectorCuts();
456  region = (G4RegionStore::GetInstance())->GetRegion("XTRdEdxDetector");
457  region->SetProductionCuts(fDetectorCuts);
458  G4cout << "Detector cuts are set" << G4endl;
459 
460  if (verboseLevel > 1) DumpCutValuesTable();
461 }
void SetCutValue(G4double aCut, const G4String &pname)
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
static G4RegionStore * GetInstance()
void DumpCutValuesTable(G4int flag=1)
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void SetProductionCuts(G4ProductionCuts *cut)
void Em10PhysicsList::SetDetectorCuts ( )

Definition at line 503 of file Em10PhysicsList.cc.

References G4cout, G4endl, idxG4ElectronCut, idxG4GammaCut, idxG4PositronCut, python.hepunit::mm, and G4ProductionCuts::SetProductionCut().

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

504 {
505  if( !fDetectorCuts ) fDetectorCuts = new G4ProductionCuts();
506 
507  fDetectorCuts->SetProductionCut(fGammaCut, idxG4GammaCut);
508  fDetectorCuts->SetProductionCut(fElectronCut, idxG4ElectronCut);
509  fDetectorCuts->SetProductionCut(fPositronCut, idxG4PositronCut);
510 
511  G4cout<<"Detector gamma cut = "<<fGammaCut/mm<<" mm"<<G4endl;
512  G4cout<<"Detector electron cut = "<<fElectronCut/mm<<" mm"<<G4endl;
513  G4cout<<"Detector positron cut = "<<fPositronCut/mm<<" mm"<<G4endl;
514 
515 }
void SetProductionCut(G4double cut, G4int index=-1)
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void Em10PhysicsList::SetElectronCut ( G4double  val)

Definition at line 472 of file Em10PhysicsList.cc.

Referenced by Em10PhysicsListMessenger::SetNewValue().

473 {
474  cutForElectron = val;
475 }
void Em10PhysicsList::SetGammaCut ( G4double  val)

Definition at line 465 of file Em10PhysicsList.cc.

Referenced by Em10PhysicsListMessenger::SetNewValue().

466 {
467  cutForGamma = val;
468 }
void Em10PhysicsList::SetMaxStep ( G4double  step)

Definition at line 479 of file Em10PhysicsList.cc.

References G4cout, and G4endl.

Referenced by Em10PhysicsListMessenger::SetNewValue().

480 {
481  MaxChargedStep = step ;
482  G4cout << " MaxChargedStep=" << MaxChargedStep << G4endl;
483  G4cout << G4endl;
484 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void Em10PhysicsList::SetRadiatorCuts ( )

Definition at line 488 of file Em10PhysicsList.cc.

References G4cout, G4endl, idxG4ElectronCut, idxG4GammaCut, idxG4PositronCut, python.hepunit::mm, and G4ProductionCuts::SetProductionCut().

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

489 {
490  if( !fRadiatorCuts ) fRadiatorCuts = new G4ProductionCuts();
491 
492  fRadiatorCuts->SetProductionCut(fGammaCut, idxG4GammaCut);
493  fRadiatorCuts->SetProductionCut(fElectronCut, idxG4ElectronCut);
494  fRadiatorCuts->SetProductionCut(fPositronCut, idxG4PositronCut);
495 
496  G4cout<<"Radiator gamma cut = "<<fGammaCut/mm<<" mm"<<G4endl;
497  G4cout<<"Radiator electron cut = "<<fElectronCut/mm<<" mm"<<G4endl;
498  G4cout<<"Radiator positron cut = "<<fPositronCut/mm<<" mm"<<G4endl;
499 }
void SetProductionCut(G4double cut, G4int index=-1)
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void Em10PhysicsList::SetRegElectronCut ( G4double  cut)
inline

Definition at line 79 of file Em10PhysicsList.hh.

Referenced by Em10PhysicsListMessenger::SetNewValue().

79 {fElectronCut = cut;};
void Em10PhysicsList::SetRegGammaCut ( G4double  cut)
inline

Definition at line 78 of file Em10PhysicsList.hh.

Referenced by Em10PhysicsListMessenger::SetNewValue().

78 {fGammaCut = cut;};
void Em10PhysicsList::SetRegPositronCut ( G4double  cut)
inline

Definition at line 80 of file Em10PhysicsList.hh.

Referenced by Em10PhysicsListMessenger::SetNewValue().

80 {fPositronCut = cut;};
void Em10PhysicsList::SetXTRModel ( G4String  m)
inline

Definition at line 86 of file Em10PhysicsList.hh.

References G4cout, G4endl, and python.hepunit::m.

Referenced by Em10PhysicsListMessenger::SetNewValue().

86 {fXTRModel = m; G4cout<<fXTRModel<<G4endl;};
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

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