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

#include <Par01EMShowerModel.hh>

Inheritance diagram for Par01EMShowerModel:
Collaboration diagram for Par01EMShowerModel:

Public Member Functions

 Par01EMShowerModel (G4String, G4Region *)
 
 Par01EMShowerModel (G4String)
 
 ~Par01EMShowerModel ()
 
virtual G4bool IsApplicable (const G4ParticleDefinition &)
 
virtual G4bool ModelTrigger (const G4FastTrack &)
 
virtual void DoIt (const G4FastTrack &, G4FastStep &)
 
- Public Member Functions inherited from G4VFastSimulationModel
 G4VFastSimulationModel (const G4String &aName)
 
 G4VFastSimulationModel (const G4String &aName, G4Envelope *, G4bool IsUnique=FALSE)
 
virtual ~G4VFastSimulationModel ()
 
virtual G4bool AtRestModelTrigger (const G4FastTrack &)
 
virtual void AtRestDoIt (const G4FastTrack &, G4FastStep &)
 
const G4String GetName () const
 
G4bool operator== (const G4VFastSimulationModel &) const
 

Detailed Description

Definition at line 48 of file Par01EMShowerModel.hh.

Constructor & Destructor Documentation

Par01EMShowerModel::Par01EMShowerModel ( G4String  modelName,
G4Region envelope 
)

Definition at line 49 of file Par01EMShowerModel.cc.

50 : G4VFastSimulationModel(modelName, envelope)
51 {
52  fFakeStep = new G4Step();
53  fFakePreStepPoint = fFakeStep->GetPreStepPoint();
54  fFakePostStepPoint = fFakeStep->GetPostStepPoint();
55  fTouchableHandle = new G4TouchableHistory();
56  fpNavigator = new G4Navigator();
57  fNaviSetup = false;
58  fCsI = 0;
59 }
G4StepPoint * GetPreStepPoint() const
Definition: G4Step.hh:76
G4StepPoint * GetPostStepPoint() const
G4VFastSimulationModel(const G4String &aName)

Here is the call graph for this function:

Par01EMShowerModel::Par01EMShowerModel ( G4String  modelName)

Definition at line 63 of file Par01EMShowerModel.cc.

64 : G4VFastSimulationModel(modelName)
65 {
66  fFakeStep = new G4Step();
67  fFakePreStepPoint = fFakeStep->GetPreStepPoint();
68  fFakePostStepPoint = fFakeStep->GetPostStepPoint();
69  fTouchableHandle = new G4TouchableHistory();
70  fpNavigator = new G4Navigator();
71  fNaviSetup = false;
72  fCsI = 0;
73 }
G4StepPoint * GetPreStepPoint() const
Definition: G4Step.hh:76
G4StepPoint * GetPostStepPoint() const
G4VFastSimulationModel(const G4String &aName)

Here is the call graph for this function:

Par01EMShowerModel::~Par01EMShowerModel ( )

Definition at line 77 of file Par01EMShowerModel.cc.

78 {
79  delete fFakeStep;
80  delete fpNavigator;
81 }

Member Function Documentation

void Par01EMShowerModel::DoIt ( const G4FastTrack fastTrack,
G4FastStep fastStep 
)
virtual

Implements G4VFastSimulationModel.

Definition at line 103 of file Par01EMShowerModel.cc.

105 {
106  // Kill the parameterised particle:
107  fastStep.KillPrimaryTrack();
108  fastStep.ProposePrimaryTrackPathLength(0.0);
110 
111  // split into "energy spots" energy according to the shower shape:
112  Explode(fastTrack);
113 
114  // and put those energy spots into the crystals:
115  BuildDetectorResponse();
116 
117 }
const G4Track * GetPrimaryTrack() const
Definition: G4FastTrack.hh:208
G4double GetKineticEnergy() const
void ProposePrimaryTrackPathLength(G4double)
void ProposeTotalEnergyDeposited(G4double anEnergyPart)
void KillPrimaryTrack()
Definition: G4FastStep.cc:88

Here is the call graph for this function:

G4bool Par01EMShowerModel::IsApplicable ( const G4ParticleDefinition particleType)
virtual

Implements G4VFastSimulationModel.

Definition at line 85 of file Par01EMShowerModel.cc.

86 {
87  return
88  &particleType == G4Electron::ElectronDefinition() ||
89  &particleType == G4Positron::PositronDefinition() ||
90  &particleType == G4Gamma::GammaDefinition();
91 }
static G4Electron * ElectronDefinition()
Definition: G4Electron.cc:89
static G4Positron * PositronDefinition()
Definition: G4Positron.cc:89
static G4Gamma * GammaDefinition()
Definition: G4Gamma.cc:81

Here is the call graph for this function:

G4bool Par01EMShowerModel::ModelTrigger ( const G4FastTrack fastTrack)
virtual

Implements G4VFastSimulationModel.

Definition at line 95 of file Par01EMShowerModel.cc.

96 {
97  // Applies the parameterisation above 100 MeV:
98  return fastTrack.GetPrimaryTrack()->GetKineticEnergy() > 100*MeV;
99 }
const G4Track * GetPrimaryTrack() const
Definition: G4FastTrack.hh:208
G4double GetKineticEnergy() const
static constexpr double MeV
Definition: G4SIunits.hh:214

Here is the call graph for this function:


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