Geant4  10.02.p03
G4HumanPhantomEventAction Class Reference

#include <G4HumanPhantomEventAction.hh>

Inheritance diagram for G4HumanPhantomEventAction:
Collaboration diagram for G4HumanPhantomEventAction:

Public Member Functions

 G4HumanPhantomEventAction ()
 
 ~G4HumanPhantomEventAction ()
 
void BeginOfEventAction (const G4Event *)
 
void EndOfEventAction (const G4Event *)
 
- Public Member Functions inherited from G4UserEventAction
 G4UserEventAction ()
 
virtual ~G4UserEventAction ()
 
virtual void SetEventManager (G4EventManager *value)
 

Private Member Functions

void Fill (G4String bodypartName, G4double energyDeposit)
 
void totalEventEnergyDeposit ()
 

Private Attributes

G4int hitCollectionID
 
std::map< std::string, G4doubleenergyTotal
 
G4String bodypartName
 

Additional Inherited Members

- Protected Attributes inherited from G4UserEventAction
G4EventManagerfpEventManager
 

Detailed Description

Definition at line 42 of file G4HumanPhantomEventAction.hh.

Constructor & Destructor Documentation

◆ G4HumanPhantomEventAction()

G4HumanPhantomEventAction::G4HumanPhantomEventAction ( )

Definition at line 44 of file G4HumanPhantomEventAction.cc.

44  :
46 {
47 
48 }

◆ ~G4HumanPhantomEventAction()

G4HumanPhantomEventAction::~G4HumanPhantomEventAction ( )

Definition at line 50 of file G4HumanPhantomEventAction.cc.

51 {
52 }

Member Function Documentation

◆ BeginOfEventAction()

void G4HumanPhantomEventAction::BeginOfEventAction ( const G4Event )
virtual

Reimplemented from G4UserEventAction.

Definition at line 54 of file G4HumanPhantomEventAction.cc.

55 {
56  energyTotal["logicalHead"]=0.;
57  energyTotal["logicalTrunk"]=0.;
58  energyTotal["logicalLeftLeg"]=0.;
59  energyTotal["logicalRightLeg"]=0.;
60  energyTotal["logicalSkull"]=0.;
61  energyTotal["logicalLeftArmBone"]=0.;
62  energyTotal["logicalRightArmBone"]=0.;
63  energyTotal["logicalUpperSpine"]=0.;
64  energyTotal["logicalMiddleLowerSpine"]=0.;
65  energyTotal["logicalPelvis"]=0.;
66  energyTotal["logicalRibCage"]=0.;
67  energyTotal["logicalLeftClavicle"]=0.;
68  energyTotal["logicalRightClavicle"]=0.;
69  energyTotal["logicalLeftLegBone"]=0.;
70  energyTotal["logicalRightLegBone"]=0.;
71  energyTotal["logicalLeftScapula"]=0.;
72  energyTotal["logicalRightScapula"]=0.;
73  energyTotal["logicalHeart"]=0.;
74  energyTotal["logicalThyroid"]=0.;
75  energyTotal["logicalThymus"]=0.;
76  energyTotal["logicalMaleGenitalia"]=0.;
77  energyTotal["logicalBrain"]=0.;
78  energyTotal["logicalStomach"]=0.;
79  energyTotal["logicalUpperLargeIntestine"]=0.;
80  energyTotal["logicalLowerLargeIntestine"]=0.;
81  energyTotal["logicalSmallIntestine"]=0;
82  energyTotal["logicalSpleen"]=0.;
83  energyTotal["logicalPancreas"]=0.;
84  energyTotal["logicalLeftKidney"]=0.;
85  energyTotal["logicalRightKidney"]=0.;
86  energyTotal["logicalUrinaryBladder"]=0.;
87  energyTotal["logicalUterus"]=0.;
88  energyTotal["logicalLeftLung"]=0.;
89  energyTotal["logicalRightLung"]=0.;
90  energyTotal["logicalLeftOvary"]=0.;
91  energyTotal["logicalRightOvary"]=0.;
92  energyTotal["logicalLeftTeste"]=0;
93  energyTotal["logicalRightTeste"]=0;
94  energyTotal["logicalLeftBreast"]=0.;
95  energyTotal["logicalRightBreast"]=0.;
96  energyTotal["logicalLeftAdrenal"]=0.;
97  energyTotal["logicalRightAdrenal"]=0.;
98 
100 
101  if (hitCollectionID==-1) {
102  hitCollectionID = SDman->GetCollectionID("HumanPhantomCollection");
103  }
104 }
G4int GetCollectionID(G4String colName)
Definition: G4SDManager.cc:135
std::map< std::string, G4double > energyTotal
static G4SDManager * GetSDMpointer()
Definition: G4SDManager.cc:40
Here is the call graph for this function:

◆ EndOfEventAction()

void G4HumanPhantomEventAction::EndOfEventAction ( const G4Event evt)
virtual

Reimplemented from G4UserEventAction.

Definition at line 106 of file G4HumanPhantomEventAction.cc.

107 {
108 
109  G4HCofThisEvent* HCE = evt->GetHCofThisEvent();
110 
112 
113  if (HCE)
115 
116  if (HC)
117  {
118  G4int hitNumber = HC->entries();
119  G4double edep =0;
120  G4String bodyPart;
121  for (G4int i=0;i<hitNumber;i++)
122  {
123  edep = (*HC)[i]->GetEdep();
124  bodyPart = (*HC)[i]->GetBodyPartID();
125  Fill(bodyPart, edep);
126  // if(edep !=0.) G4cout << bodyPart <<": "<< edep/MeV << G4endl;
127  }
128  }
129 
131 }
int G4int
Definition: G4Types.hh:78
Double_t edep
G4HCofThisEvent * GetHCofThisEvent() const
Definition: G4Event.hh:185
void Fill(G4String bodypartName, G4double energyDeposit)
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:

◆ Fill()

void G4HumanPhantomEventAction::Fill ( G4String  bodypartName,
G4double  energyDeposit 
)
private

Definition at line 133 of file G4HumanPhantomEventAction.cc.

136 {
137  energyTotal[bName] += energyDeposit;
138 }
std::map< std::string, G4double > energyTotal
Here is the caller graph for this function:

◆ totalEventEnergyDeposit()

void G4HumanPhantomEventAction::totalEventEnergyDeposit ( )
private

Definition at line 140 of file G4HumanPhantomEventAction.cc.

141 {
142 
144  G4HumanPhantomRunAction* pointerRun = (G4HumanPhantomRunAction*)(runManager->GetUserRunAction());
145 
146  std::map<std::string,G4double>::iterator i = energyTotal.begin();
147  std::map<std::string,G4double>::iterator end = energyTotal.end();
148 
149  while(i!=end)
150  {
151 
152  G4String bodypart = i->first;
153  G4double energyDep = i->second;
154 
155  if(energyDep != 0.)
156  {
157  pointerRun->Fill(bodypart, energyDep);
158  }
159  i++;
160  }
161 
162 }
G4int first(char) const
const G4UserRunAction * GetUserRunAction() const
void Fill(G4String bodypartName, G4double energyDeposit)
std::map< std::string, G4double > energyTotal
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:79
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ bodypartName

G4String G4HumanPhantomEventAction::bodypartName
private

Definition at line 58 of file G4HumanPhantomEventAction.hh.

◆ energyTotal

std::map<std::string,G4double> G4HumanPhantomEventAction::energyTotal
private

Definition at line 57 of file G4HumanPhantomEventAction.hh.

◆ hitCollectionID

G4int G4HumanPhantomEventAction::hitCollectionID
private

Definition at line 56 of file G4HumanPhantomEventAction.hh.


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