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

#include <GammaRayTelEMlowePhysics.hh>

Inheritance diagram for GammaRayTelEMlowePhysics:
Collaboration diagram for GammaRayTelEMlowePhysics:

Public Member Functions

 GammaRayTelEMlowePhysics (const G4String &name="LowE EM")
 
virtual ~GammaRayTelEMlowePhysics ()
 
virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 48 of file GammaRayTelEMlowePhysics.hh.

Constructor & Destructor Documentation

GammaRayTelEMlowePhysics::GammaRayTelEMlowePhysics ( const G4String name = "LowE EM")

Definition at line 59 of file GammaRayTelEMlowePhysics.cc.

60  : G4VPhysicsConstructor(name)
61 {
62 }
G4VPhysicsConstructor(const G4String &="")
GammaRayTelEMlowePhysics::~GammaRayTelEMlowePhysics ( )
virtual

Definition at line 64 of file GammaRayTelEMlowePhysics.cc.

65 {
66 }

Member Function Documentation

void GammaRayTelEMlowePhysics::ConstructParticle ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 68 of file GammaRayTelEMlowePhysics.cc.

69 {
70 }
void GammaRayTelEMlowePhysics::ConstructProcess ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 76 of file GammaRayTelEMlowePhysics.cc.

77 {
78  G4ProcessManager * pManager = 0;
79 
80  // Gamma Physics
81  pManager = G4Gamma::Gamma()->GetProcessManager();
82 
83  G4RayleighScattering* theRayleigh = new G4RayleighScattering();
84  theRayleigh->SetEmModel(new G4LivermoreRayleighModel());
85  G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect();
86  thePhotoElectricEffect->SetEmModel(new G4LivermorePhotoElectricModel());
87  G4ComptonScattering* theComptonScattering = new G4ComptonScattering();
88  theComptonScattering->SetEmModel(new G4LivermoreComptonModel());
89  G4GammaConversion* theGammaConversion = new G4GammaConversion();
90  theGammaConversion->SetEmModel(new G4LivermoreGammaConversionModel());
91 
92  pManager->AddDiscreteProcess(theRayleigh);
93  pManager->AddDiscreteProcess(thePhotoElectricEffect);
94  pManager->AddDiscreteProcess(theComptonScattering);
95  pManager->AddDiscreteProcess(theGammaConversion);
96 
97 
98  // Electron Physics
99 
100  pManager = G4Electron::Electron()->GetProcessManager();
101 
102 
104 
105  G4eIonisation* eIonisation = new G4eIonisation();
106  eIonisation->SetEmModel(new G4LivermoreIonisationModel());
107 
108  G4eBremsstrahlung* eBremsstrahlung = new G4eBremsstrahlung();
109  eBremsstrahlung->SetEmModel(new G4LivermoreBremsstrahlungModel());
110 
111  pManager->AddProcess(msc,-1, 1, 1);
112  pManager->AddProcess(eIonisation,-1, 2, 2);
113  pManager->AddProcess(eBremsstrahlung, -1,-3, 3);
114 
115 
116  //Positron Physics
117 
118  pManager = G4Positron::Positron()->GetProcessManager();
119 
121  pManager->AddProcess(msc_p,-1, 1, 1);
122 
123  G4eIonisation* eIonisation_p = new G4eIonisation();
124  pManager->AddProcess(eIonisation_p, -1, 2, 2);
125  pManager->AddProcess(new G4eBremsstrahlung(), -1,-1, 3);
126 
127  pManager->AddProcess(new G4eplusAnnihilation(),0,-1, 4);
128 
129 }
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
void SetEmModel(G4VEmModel *, G4int index=1)
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
static G4Gamma * Gamma()
Definition: G4Gamma.cc:86
static G4Positron * Positron()
Definition: G4Positron.cc:94
G4ProcessManager * GetProcessManager() const
void SetEmModel(G4VEmModel *, G4int index=1)
static G4Electron * Electron()
Definition: G4Electron.cc:94

Here is the call graph for this function:


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