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

#include <Par01PionShowerModel.hh>

Inheritance diagram for Par01PionShowerModel:
G4VFastSimulationModel

Public Member Functions

 Par01PionShowerModel (G4String, G4Region *)
 
 Par01PionShowerModel (G4String)
 
 ~Par01PionShowerModel ()
 
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 43 of file Par01PionShowerModel.hh.

Constructor & Destructor Documentation

Par01PionShowerModel::Par01PionShowerModel ( G4String  modelName,
G4Region envelope 
)

Definition at line 44 of file Par01PionShowerModel.cc.

References G4Step::GetPostStepPoint(), and G4Step::GetPreStepPoint().

45 : G4VFastSimulationModel(modelName, envelope)
46 {
47  fFakeStep = new G4Step();
48  fFakePreStepPoint = fFakeStep->GetPreStepPoint();
49  fFakePostStepPoint = fFakeStep->GetPostStepPoint();
50  fTouchableHandle = new G4TouchableHistory();
51  fpNavigator = new G4Navigator();
52  fNaviSetup = false;
53 }
G4StepPoint * GetPreStepPoint() const
Definition: G4Step.hh:76
G4StepPoint * GetPostStepPoint() const
G4VFastSimulationModel(const G4String &aName)
Par01PionShowerModel::Par01PionShowerModel ( G4String  modelName)

Definition at line 55 of file Par01PionShowerModel.cc.

References G4Step::GetPostStepPoint(), and G4Step::GetPreStepPoint().

56 : G4VFastSimulationModel(modelName)
57 {
58  fFakeStep = new G4Step();
59  fFakePreStepPoint = fFakeStep->GetPreStepPoint();
60  fFakePostStepPoint = fFakeStep->GetPostStepPoint();
61  fTouchableHandle = new G4TouchableHistory();
62  fpNavigator = new G4Navigator();
63  fNaviSetup = false;
64 }
G4StepPoint * GetPreStepPoint() const
Definition: G4Step.hh:76
G4StepPoint * GetPostStepPoint() const
G4VFastSimulationModel(const G4String &aName)
Par01PionShowerModel::~Par01PionShowerModel ( )

Definition at line 66 of file Par01PionShowerModel.cc.

67 {
68  delete fFakeStep;
69  delete fpNavigator;
70 }

Member Function Documentation

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

Implements G4VFastSimulationModel.

Definition at line 86 of file Par01PionShowerModel.cc.

References G4Track::GetKineticEnergy(), G4FastTrack::GetPrimaryTrack(), G4FastStep::KillPrimaryTrack(), G4FastStep::ProposePrimaryTrackPathLength(), and G4FastStep::ProposeTotalEnergyDeposited().

88 {
89  // G4cout << "Par01PionShowerModel::DoIt" << G4endl;
90 
91  // Kill the parameterised particle:
92  fastStep.KillPrimaryTrack();
93  fastStep.ProposePrimaryTrackPathLength(0.0);
95 
96  // split into "energy spots" energy according to the shower shape:
97  Explode(fastTrack);
98 
99  // and put those energy spots into the crystals:
100  BuildDetectorResponse();
101 }
const G4Track * GetPrimaryTrack() const
Definition: G4FastTrack.hh:208
G4double GetKineticEnergy() const
void ProposePrimaryTrackPathLength(G4double)
void ProposeTotalEnergyDeposited(G4double anEnergyPart)
void KillPrimaryTrack()
Definition: G4FastStep.cc:87
G4bool Par01PionShowerModel::IsApplicable ( const G4ParticleDefinition particleType)
virtual

Implements G4VFastSimulationModel.

Definition at line 72 of file Par01PionShowerModel.cc.

References G4PionMinus::PionMinusDefinition(), and G4PionPlus::PionPlusDefinition().

73 {
74  return
75  &particleType == G4PionMinus::PionMinusDefinition() ||
76  &particleType == G4PionPlus::PionPlusDefinition();
77 }
static G4PionMinus * PionMinusDefinition()
Definition: G4PionMinus.cc:93
static G4PionPlus * PionPlusDefinition()
Definition: G4PionPlus.cc:93
G4bool Par01PionShowerModel::ModelTrigger ( const G4FastTrack )
virtual

Implements G4VFastSimulationModel.

Definition at line 79 of file Par01PionShowerModel.cc.

80 {
81  // Applies the parameterisation always:
82  // ie as soon as the pion enters the envelope
83  return true;
84 }

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