EDepSimPhysicsList.hh
Go to the documentation of this file.
1 #ifndef EDepSim_PhysicsList_h
2 #define EDepSim_PhysicsList_h 1
3 
4 #include "globals.hh"
5 #include "G4VModularPhysicsList.hh"
6 
7 class G4VPhysicsConstructor;
8 namespace EDepSim {class PhysicsListMessenger;}
9 namespace EDepSim {class ExtraPhysics;}
10 
11 /// Use the G4PhysListFactory to select a physics list for this run. The
12 /// physics list can be set from the PHYSLIST environment variable, or a macro
13 /// file. All of the physics lists need to be defined before using the
14 /// /run/initialize command.
15 namespace EDepSim {class PhysicsList;}
16 class EDepSim::PhysicsList: public G4VModularPhysicsList {
17 public:
18 
19  /// Construct the physics list. If physName is a valid list, then it will
20  /// be used. Otherwise, the physics list will be read first from the
21  /// macro file, and then from the PHYSLIST environment variable. If all
22  /// of thoses methods fail, then a G4 provided default will be used.
23  explicit PhysicsList(G4String physName);
24 
25  virtual ~PhysicsList();
26 
27  /// Set the physics list name to be used (this is used by the physics list
28  /// messenger.
29  void SetPhysicsListName(G4String pName);
30 
31  /// Used by GEANT4 to set the cuts defined below.
32  virtual void SetCuts();
33 
34  /// Set the range cut for photons.
35  void SetCutForGamma(G4double);
36 
37  /// Set the range cut for electrons.
38  void SetCutForElectron(G4double);
39 
40  /// Set the range cut for positrons.
41  void SetCutForPositron(G4double);
42 
43  /// Set the recombination fraction for liquid argon (negative for using
44  /// nest).
45  void SetIonizationModel(bool);
46 
47 private:
48 
49  /// The gamma-ray range cut.
50  G4double fCutForGamma;
51 
52  /// The electron range cut.
53  G4double fCutForElectron;
54 
55  /// The positron range cut.
56  G4double fCutForPositron;
57 
58  /// The extra physics list
60 
61  /// The messenger to control this class.
63 
64 };
65 
66 #endif
EDepSim::PhysicsListMessenger * fMessenger
The messenger to control this class.
void SetCutForGamma(G4double)
Set the range cut for photons.
TConfigurablePhysicsList< ModularPhysicsList > PhysicsList
Definition: PhysicsList.h:86
void SetCutForPositron(G4double)
Set the range cut for positrons.
Construct a module from components.
Definition: TG4HitSegment.h:10
void SetCutForElectron(G4double)
Set the range cut for electrons.
G4double fCutForPositron
The positron range cut.
virtual void SetCuts()
Used by GEANT4 to set the cuts defined below.
EDepSim::ExtraPhysics * fExtra
The extra physics list.
void SetPhysicsListName(G4String pName)
PhysicsList(G4String physName)
G4double fCutForGamma
The gamma-ray range cut.
G4double fCutForElectron
The electron range cut.