77 G4cout <<
"******************************************";
79 G4cout <<
"Internal Real Elapsed Time is: " <<
fTimerIntern.GetRealElapsed();
81 G4cout <<
"Internal System Elapsed Time: " <<
fTimerIntern.GetSystemElapsed();
83 G4cout <<
"Internal GetUserElapsed Time: " <<
fTimerIntern.GetUserElapsed();
85 G4cout <<
"******************************************" << G4endl;
87 G4cout <<
" ------ ExGflashEventAction::End of event nr. " <<
fNevent <<
" -----" << G4endl;
100 int n_hit = THC->entries();
101 G4cout <<
" " << n_hit <<
" hits are stored in ExGflashHitsCollection " << G4endl;
104 G4ThreeVector vtx = pvertex->GetPosition();
107 G4ThreeVector mom = pparticle->GetMomentum() / pparticle->GetMomentum().mag();
110 G4double energyincrystal[100];
111 G4int hitsincrystal[100];
112 for (
int i = 0; i < 100; i++)
113 energyincrystal[i] = 0.;
114 for (
int i = 0; i < 100; i++)
115 hitsincrystal[i] = 0.;
119 for (
int i = 0; i < n_hit; i++) {
120 G4double estep = (*THC)[i]->GetEdep() / GeV;
122 totE += (*THC)[i]->GetEdep() / GeV;
123 G4int num = (*THC)[i]->GetCrystalNum();
125 energyincrystal[num] += (*THC)[i]->GetEdep() / GeV;
126 hitsincrystal[num]++;
132 G4ThreeVector hitpos = (*THC)[i]->GetPos();
133 G4ThreeVector l(hitpos.x(), hitpos.y(), hitpos.z());
137 G4ThreeVector longitudinal = l;
139 G4ThreeVector radial = vtx.cross(l);
145 for (
int i = 0; i < 100; i++) {
147 if (max < energyincrystal[i]) {
148 max = energyincrystal[i];
155 G4double e3x3 = energyincrystal[index] + energyincrystal[index + 1] + energyincrystal[index - 1]
156 + energyincrystal[index - 10] + energyincrystal[index - 9]
157 + energyincrystal[index - 11] + energyincrystal[index + 10]
158 + energyincrystal[index + 11] + energyincrystal[index + 9];
162 energyincrystal[index] + energyincrystal[index + 1] + energyincrystal[index - 1]
163 + energyincrystal[index + 2] + energyincrystal[index - 2] + energyincrystal[index - 10]
164 + energyincrystal[index - 9] + energyincrystal[index - 11] + energyincrystal[index - 8]
165 + energyincrystal[index - 12] + energyincrystal[index + 10] + energyincrystal[index + 11]
166 + energyincrystal[index + 9] + energyincrystal[index + 12] + energyincrystal[index + 8];
169 G4int num3x3 = hitsincrystal[index] + hitsincrystal[index + 1] + hitsincrystal[index - 1]
170 + hitsincrystal[index - 10] + hitsincrystal[index - 9]
171 + hitsincrystal[index - 11] + hitsincrystal[index + 10]
172 + hitsincrystal[index + 11] + hitsincrystal[index + 9];
175 G4int num5x5 = hitsincrystal[index] + hitsincrystal[index + 1] + hitsincrystal[index - 1]
176 + hitsincrystal[index + 2] + hitsincrystal[index - 2] + hitsincrystal[index - 10]
177 + hitsincrystal[index - 9] + hitsincrystal[index - 11] + hitsincrystal[index - 8]
178 + hitsincrystal[index - 12] + hitsincrystal[index + 10]
179 + hitsincrystal[index + 11] + hitsincrystal[index + 9]
180 + hitsincrystal[index + 12] + hitsincrystal[index + 8];
182 G4cout <<
" e1 " << energyincrystal[index] <<
" e3x3 " << e3x3 <<
" GeV e5x5 " << e5x5
185 G4cout <<
" num1 " << hitsincrystal[index] <<
" num3x3 " << num3x3 <<
" num5x5 "
189 G4cout <<
" Total energy deposited in the calorimeter: " << totE <<
" (GeV)" << G4endl;
191 G4int n_trajectories = 0;
192 if (trajectoryContainer) {
193 n_trajectories = trajectoryContainer->entries();
195 G4cout <<
" " << n_trajectories <<
" trajectories stored in this event." << G4endl;