9 string hd_msg = Opt.
args[
"LOG_MSG"].args +
" FST Hit Process " ;
10 double VERB = Opt.
args[
"HIT_VERBOSITY"].arg;
15 HCname =
"FST Hit Process";
20 int nsteps = aHit->
GetPos().size();
24 vector<G4double> Edep = aHit->
GetEdep();
25 for(
int s=0; s<nsteps; s++) Etot = Etot + Edep[s];
30 x = y = z = lx = ly = lz = 0;
31 vector<G4ThreeVector> pos = aHit->
GetPos();
32 vector<G4ThreeVector> Lpos = aHit->
GetLPos();
35 for(
int s=0; s<nsteps; s++)
37 x = x + pos[s].x()*Edep[s]/Etot;
38 y = y + pos[s].y()*Edep[s]/Etot;
39 z = z + pos[s].z()*Edep[s]/Etot;
40 lx = lx + Lpos[s].x()*Edep[s]/Etot;
41 ly = ly + Lpos[s].y()*Edep[s]/Etot;
42 lz = lz + Lpos[s].z()*Edep[s]/Etot;
57 vector<G4double> times = aHit->
GetTime();
58 for(
int s=0; s<nsteps; s++) time = time + times[s]/nsteps;
61 double Ene = aHit->
GetE();
63 out.
raws.push_back(Etot);
64 out.
raws.push_back(x);
65 out.
raws.push_back(y);
66 out.
raws.push_back(z);
67 out.
raws.push_back(lx);
68 out.
raws.push_back(ly);
69 out.
raws.push_back(lz);
70 out.
raws.push_back(time);
75 out.
raws.push_back(Ene);
92 cout << hd_msg <<
" layer: " << layer <<
" sector: " << sector
93 <<
" Strip: " << strip <<
" x=" << x <<
" y=" << y <<
" z=" << z << endl;
95 out.
dgtz.push_back(layer);
96 out.
dgtz.push_back(sector);
97 out.
dgtz.push_back(strip);
107 G4ThreeVector xyz = aStep->GetPostStepPoint()->GetPosition();
112 vector<identifier> yid = id;
116 int layer = 2*yid[0].id + yid[1].id - 2 ;
117 int sector = yid[2].id;
119 yid[3].id = fsts.
FindStrip(layer-1, sector-1, x, y, z);
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< identifier > ProcessID(vector< identifier >, G4Step *, detector, gemc_opts)
Method to calculate new identifier.
vector< double > GetEdep()
int FindStrip(int layer, int sector, double x, double y, double z)
vector< int > dgtz
Digitized information.