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

#include <SteppingAction.hh>

Inheritance diagram for SteppingAction:
G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction G4UserSteppingAction

Public Member Functions

 SteppingAction (DetectorConstruction *, EventAction *)
 
 ~SteppingAction ()
 
void UserSteppingAction (const G4Step *)
 
G4double BirksAttenuation (const G4Step *)
 
 SteppingAction (RunAction *, DetectorConstruction *, PrimaryGeneratorAction *, HistoManager *)
 
 ~SteppingAction ()
 
void UserSteppingAction (const G4Step *)
 
 SteppingAction ()
 
 ~SteppingAction ()
 
void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *, DetectorConstruction *)
 
 ~SteppingAction ()
 
void UserSteppingAction (const G4Step *)
 
 SteppingAction ()
 
 ~SteppingAction ()
 
void UserSteppingAction (const G4Step *)
 
 SteppingAction ()
 
 ~SteppingAction ()
 
void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *, DetectorConstruction *)
 
 ~SteppingAction ()
 
void UserSteppingAction (const G4Step *)
 
 SteppingAction (AnalysisManager *analysis)
 
 ~SteppingAction ()
 
void UserSteppingAction (const G4Step *aStep)
 
 SteppingAction (DetectorConstruction *, EventAction *)
 
virtual ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (EventAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (DetectorConstruction *, EventAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *, EventAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (DetectorConstruction *, RunAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *, HistoManager *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *, EventAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (DetectorConstruction *)
 
virtual ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (DetectorConstruction *, RunAction *, EventAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
G4double BirksAttenuation (const G4Step *)
 
 SteppingAction (EventAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (DetectorConstruction *, EventAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (DetectorConstruction *, RunAction *)
 
virtual ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction ()
 
virtual ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (RunAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (TrackingAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (DetectorConstruction *, RunAction *, TrackingAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (DetectorConstruction *, RunAction *, TrackingAction *)
 
 ~SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
 SteppingAction (DetectorConstruction *, PrimaryGeneratorAction *, RunAction *, HistoManager *)
 
 ~SteppingAction ()
 
void UserSteppingAction (const G4Step *)
 
- Public Member Functions inherited from G4UserSteppingAction
 G4UserSteppingAction ()
 
virtual ~G4UserSteppingAction ()
 
void SetSteppingManagerPointer (G4SteppingManager *pValue)
 

Additional Inherited Members

- Protected Attributes inherited from G4UserSteppingAction
G4SteppingManagerfpSteppingManager
 

Detailed Description

Definition at line 47 of file advanced/amsEcal/include/SteppingAction.hh.

Constructor & Destructor Documentation

SteppingAction::SteppingAction ( DetectorConstruction det,
EventAction evt 
)

Definition at line 44 of file advanced/amsEcal/src/SteppingAction.cc.

45 :G4UserSteppingAction(),detector(det),eventAct(evt)
46 {
47  first = true;
48  lvol_world = lvol_module = lvol_layer = lvol_fiber = 0;
49 }
SteppingAction::~SteppingAction ( )

Definition at line 53 of file advanced/amsEcal/src/SteppingAction.cc.

54 {}
SteppingAction::SteppingAction ( RunAction run,
DetectorConstruction det,
PrimaryGeneratorAction pri,
HistoManager his 
)

Definition at line 49 of file advanced/dnageometry/src/SteppingAction.cc.

50 :Run(run),Detector(det),Primary(pri),Histo(his)
51 {}
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( )

Definition at line 51 of file advanced/dnaphysics/src/SteppingAction.cc.

52 {}
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( RunAction run,
DetectorConstruction det 
)

Definition at line 47 of file advanced/microbeam/src/SteppingAction.cc.

48 :fRun(run),fDetector(det)
49 { }
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( )
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( )
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( RunAction ,
DetectorConstruction  
)
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( AnalysisManager analysis)

Definition at line 40 of file advanced/radioprotection/src/SteppingAction.cc.

41 {
42 analysis = pAnalysis;
43 fSecondary = 0;
44 }
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( DetectorConstruction ,
EventAction  
)
virtual SteppingAction::~SteppingAction ( )
virtual
SteppingAction::SteppingAction ( EventAction event)

Definition at line 45 of file extended/electromagnetic/TestEm1/src/SteppingAction.cc.

46 :G4UserSteppingAction(), fEventAction(event)
47 { }
SteppingAction::~SteppingAction ( )
inline
SteppingAction::SteppingAction ( DetectorConstruction ,
EventAction  
)
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( RunAction RuAct,
EventAction event 
)

Definition at line 44 of file extended/electromagnetic/TestEm12/src/SteppingAction.cc.

47  fRunAction(RuAct), fEventAction(event)
48 { }
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( RunAction RuAct)

Definition at line 41 of file extended/electromagnetic/TestEm13/src/SteppingAction.cc.

42 :G4UserSteppingAction(),fRunAction(RuAct)
43 { }
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( RunAction )
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( DetectorConstruction det,
RunAction RuAct 
)

Definition at line 43 of file extended/electromagnetic/TestEm15/src/SteppingAction.cc.

45 :G4UserSteppingAction(),fDetector(det), fRunAction(RuAct)
46 { }
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( RunAction )
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( RunAction RuAct,
HistoManager Hist 
)

Definition at line 42 of file extended/electromagnetic/TestEm17/src/SteppingAction.cc.

43  :G4UserSteppingAction(),fRunAction(RuAct), fHistoManager(Hist)
44 { }
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( RunAction ,
EventAction  
)
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( DetectorConstruction det)

Definition at line 44 of file extended/electromagnetic/TestEm2/src/SteppingAction.cc.

45 :G4UserSteppingAction(),fDetector(det)
46 {}
virtual SteppingAction::~SteppingAction ( )
virtual
SteppingAction::SteppingAction ( DetectorConstruction det,
RunAction run,
EventAction evt 
)

Definition at line 48 of file extended/electromagnetic/TestEm3/src/SteppingAction.cc.

50 :G4UserSteppingAction(),fDetector(det),fRunAct(run),fEventAct(evt)
51 { }
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( EventAction )
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( DetectorConstruction ,
EventAction  
)
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( RunAction )
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( DetectorConstruction ,
RunAction  
)
virtual SteppingAction::~SteppingAction ( )
virtual
SteppingAction::SteppingAction ( )
virtual SteppingAction::~SteppingAction ( )
virtual
SteppingAction::SteppingAction ( RunAction )
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( RunAction )
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( TrackingAction TrAct)

Definition at line 43 of file extended/hadronic/Hadr04/src/SteppingAction.cc.

44 : G4UserSteppingAction(),fTrackingAction(TrAct)
45 { }
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( DetectorConstruction det,
RunAction RuAct,
TrackingAction TrAct 
)

Definition at line 46 of file extended/medical/fanoCavity/src/SteppingAction.cc.

48 :fDetector(det), fRunAction(RuAct), fTrackAction(TrAct),
49  fWall(0), fCavity(0)
50 {
51  first = true;
52  fTrackSegm = 0.;
53  fDirectionIn = G4ThreeVector(0.,0.,0.);
54 }
CLHEP::Hep3Vector G4ThreeVector
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( DetectorConstruction ,
RunAction ,
TrackingAction  
)
SteppingAction::~SteppingAction ( )
SteppingAction::SteppingAction ( DetectorConstruction det,
PrimaryGeneratorAction prim,
RunAction RuAct,
HistoManager Hist 
)

Definition at line 45 of file extended/polarisation/Pol01/src/SteppingAction.cc.

48 :detector(det), primary(prim), runAction(RuAct), histoManager(Hist)
49 { }
SteppingAction::~SteppingAction ( )

Member Function Documentation

G4double SteppingAction::BirksAttenuation ( const G4Step )
G4double SteppingAction::BirksAttenuation ( const G4Step aStep)

Definition at line 131 of file advanced/amsEcal/src/SteppingAction.cc.

References G4IonisParamMat::GetBirksConstant(), G4Track::GetDefinition(), G4Material::GetIonisation(), G4Track::GetMaterial(), G4ParticleDefinition::GetPDGCharge(), G4Step::GetStepLength(), G4Step::GetTotalEnergyDeposit(), G4Step::GetTrack(), and eplot::material.

132 {
133  //Example of Birk attenuation law in organic scintillators.
134  //adapted from Geant3 PHYS337. See MIN 80 (1970) 239-244
135  //
136  G4Material* material = aStep->GetTrack()->GetMaterial();
137  G4double birk1 = material->GetIonisation()->GetBirksConstant();
138  G4double destep = aStep->GetTotalEnergyDeposit();
139  G4double stepl = aStep->GetStepLength();
140  G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge();
141  //
142  G4double response = destep;
143  if (birk1*destep*stepl*charge != 0.)
144  {
145  response = destep/(1. + birk1*destep/stepl);
146  }
147  return response;
148 }
G4ParticleDefinition * GetDefinition() const
G4IonisParamMat * GetIonisation() const
Definition: G4Material.hh:224
G4double GetStepLength() const
G4double GetBirksConstant() const
string material
Definition: eplot.py:19
G4double GetTotalEnergyDeposit() const
G4Material * GetMaterial() const
double G4double
Definition: G4Types.hh:76
G4Track * GetTrack() const
G4double GetPDGCharge() const
void SteppingAction::UserSteppingAction ( const G4Step aStep)
virtual

Reimplemented from G4UserSteppingAction.

void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

void SteppingAction::UserSteppingAction ( const G4Step step)
virtual

example of Birk attenuation G4double destep = aStep->GetTotalEnergyDeposit(); G4double response = BirksAttenuation(aStep); G4cout << " Destep: " << destep/keV << " keV" << " response after Birks: " << response/keV << " keV" << G4endl;

Reimplemented from G4UserSteppingAction.

Definition at line 58 of file advanced/amsEcal/src/SteppingAction.cc.

References G4Geantino::Geantino(), DetectorConstruction::GetCalorSizeYZ(), DetectorConstruction::GetCalorThickness(), DetectorConstruction::GetD1Pixel(), DetectorConstruction::GetD2Pixel(), G4Track::GetDefinition(), G4VPhysicalVolume::GetLogicalVolume(), DetectorConstruction::GetLvolFiber(), DetectorConstruction::GetLvolLayer(), DetectorConstruction::GetLvolModule(), DetectorConstruction::GetLvolWorld(), G4LogicalVolume::GetMaterial(), DetectorConstruction::GetModuleThickness(), DetectorConstruction::GetN1Pixels(), DetectorConstruction::GetN1Shift(), DetectorConstruction::GetN2Pixels(), G4StepPoint::GetPosition(), G4Step::GetPreStepPoint(), G4Material::GetRadlen(), G4Step::GetStepLength(), G4Step::GetTotalEnergyDeposit(), G4StepPoint::GetTouchableHandle(), G4Step::GetTrack(), G4VTouchable::GetVolume(), int(), EventAction::SumNbRadLength(), EventAction::SumTotalEnergy(), EventAction::SumVisibleEnergy(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

59 {
60  //some initialisation
61  //
62  if (first) {
63  lvol_world = detector->GetLvolWorld();
64  lvol_module = detector->GetLvolModule();
65  lvol_layer = detector->GetLvolLayer();
66  lvol_fiber = detector->GetLvolFiber();
67 
68  calorThickness = detector->GetCalorThickness();
69  calorSizeYZ = detector->GetCalorSizeYZ();
70  moduleThickness = detector->GetModuleThickness();
71  d1Pixel = detector->GetD1Pixel();
72  d2Pixel = detector->GetD2Pixel();
73  n1pxl = detector->GetN1Pixels();
74  n2pxl = detector->GetN2Pixels();
75  n1shift = detector->GetN1Shift();
76 
77  first = false;
78  }
79 
80  //locate point in geometry
81  //
83  G4LogicalVolume* lvol = touch1->GetVolume()->GetLogicalVolume();
84 
85  //if world, return
86  //
87  if (lvol == lvol_world) return;
88 
89  //sum nb of radiation length of calorimeter with geantino
90  //
91  G4ParticleDefinition* particle = step->GetTrack()->GetDefinition();
92  if (particle == G4Geantino::Geantino()) {
93  G4double radl = lvol->GetMaterial()->GetRadlen();
94  G4double stepl = step->GetStepLength();
95  eventAct->SumNbRadLength(stepl/radl);
96  }
97 
98  //if no edep, return
99  //
100  G4double edep = step->GetTotalEnergyDeposit();
101  if (edep == 0.) return;
102 
103  //locate position and compute pixel number
104  //
105  G4ThreeVector point1 = step->GetPreStepPoint()->GetPosition();
106  G4int i1Module = (int) ((point1.x() + 0.5*calorThickness)/moduleThickness);
107  G4int i1Pixel = (int) ((point1.x() + 0.5*calorThickness)/d1Pixel);
108  if (i1Pixel < 0 ) i1Pixel = 0;
109  if (i1Pixel >= n1pxl) i1Pixel = n1pxl - 1;
110  G4double point1yz = point1.y();
111  if (i1Module%2 != 0) point1yz = point1.z();
112  G4int i2Pixel = (int) ((point1yz + 0.5*calorSizeYZ)/d2Pixel);
113  if (i2Pixel < 0 ) i2Pixel = 0;
114  if (i2Pixel >= n2pxl) i2Pixel = n2pxl - 1;
115 
116  G4int iPixel = i1Pixel*n1shift + i2Pixel;
117 
118  // sum total energy deposit
119  //
120  eventAct->SumTotalEnergy(iPixel, edep);
121 
122  //in fiber ?
123  //
124  if (lvol == lvol_fiber) {
125  eventAct->SumVisibleEnergy(iPixel, edep);
126  }
127 }
G4ParticleDefinition * GetDefinition() const
void SumVisibleEnergy(G4int pixel, G4double de)
G4double GetStepLength() const
double x() const
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
G4Material * GetMaterial() const
int G4int
Definition: G4Types.hh:78
double z() const
G4StepPoint * GetPreStepPoint() const
const G4ThreeVector & GetPosition() const
G4double GetRadlen() const
Definition: G4Material.hh:218
G4double GetTotalEnergyDeposit() const
G4LogicalVolume * GetLogicalVolume() const
void SumTotalEnergy(G4int pixel, G4double de)
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
Definition: G4VTouchable.cc:44
double y() const
static G4Geantino * Geantino()
Definition: G4Geantino.cc:87
double G4double
Definition: G4Types.hh:76
G4Track * GetTrack() const
const G4TouchableHandle & GetTouchableHandle() const
void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.

virtual void SteppingAction::UserSteppingAction ( const G4Step )
virtual

Reimplemented from G4UserSteppingAction.


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