4 #include "G4UnitsTable.hh" 15 string hd_msg = Opt.
args[
"LOG_MSG"].args +
" CND Hit Process " ;
16 double HIT_VERBOSITY = Opt.
args[
"HIT_VERBOSITY"].arg;
20 HCname =
"TOF Hit Process";
25 int nsteps = aHit->
GetPos().size();
29 vector<G4double> Edep = aHit->
GetEdep();
30 for(
int s=0; s<nsteps; s++) Etot = Etot + Edep[s];
35 x = y = z = lx = ly = lz = 0;
36 vector<G4ThreeVector> pos = aHit->
GetPos();
37 vector<G4ThreeVector> Lpos = aHit->
GetLPos();
40 for(
int s=0; s<nsteps; s++)
42 x = x + pos[s].x()*Edep[s]/Etot;
43 y = y + pos[s].y()*Edep[s]/Etot;
44 z = z + pos[s].z()*Edep[s]/Etot;
45 lx = lx + Lpos[s].x()*Edep[s]/Etot;
46 ly = ly + Lpos[s].y()*Edep[s]/Etot;
47 lz = lz + Lpos[s].z()*Edep[s]/Etot;
62 vector<G4double> times = aHit->
GetTime();
63 for(
int s=0; s<nsteps; s++) time = time + times[s]/nsteps;
66 double Ene = aHit->
GetE();
68 out.
raws.push_back(Etot);
69 out.
raws.push_back(x);
70 out.
raws.push_back(y);
71 out.
raws.push_back(z);
72 out.
raws.push_back(lx);
73 out.
raws.push_back(ly);
74 out.
raws.push_back(lz);
75 out.
raws.push_back(time);
83 out.
raws.push_back(Ene);
96 cout << hd_msg <<
" flux detector id: " <<
id << endl;
98 out.
dgtz.push_back(
id);
106 id[
id.size()-1].id_sharing = 1;
vector< identifier > ProcessID(vector< identifier >, G4Step *, detector, gemc_opts)
Method to calculate new identifier.
PH_output ProcessHit(MHit *, gemc_opts)
Method to process the hit.
vector< double > raws
Raw information.
vector< identifier > GetId()
string HCname
Hit Collection name.
vector< identifier > identity
Identifier.
vector< G4ThreeVector > GetLPos()
vector< G4ThreeVector > GetPos()
vector< double > GetTime()
map< string, opts > args
Options map.
vector< double > GetEdep()
vector< int > dgtz
Digitized information.