-
- // Add impact to PPSD
-
- if( (name == "GPS2" || name == "MIXT") &&
- gMC->CurrentVolID(copy) == gMC->VolId("PPCE") &&
- gMC->IsTrackEntering() ) {
- gMC->TrackMomentum(pmom);
- gMC->TrackPosition(pos) ;
-
- Int_t i;
- for (i=0; i<3; i++) xyzm[i] = pos[i];
-
- for (i=0; i<3; i++) {
- xyzm[i] = pos[i] ;
- pm[i] = pmom[i];
- }
- gMC -> Gmtod (xyzm, xyzd, 1); // transform coordinate from master to daughter system
- gMC -> Gmtod (pm, pd, 2); // transform 3-momentum from master to daughter system
-
- // Select tracks coming to the crystal from up or down sides
- if (pd[1]<0 && xyzd[1] > (GetGeometry()->GetConversionGap() + GetGeometry()->GetAvalancheGap())/2-0.001 ||
- pd[1]>0 && xyzd[1] < -(GetGeometry()->GetConversionGap() + GetGeometry()->GetAvalancheGap())/2+0.001) {
- Int_t pid = gMC->TrackPid();
- Int_t module;
- gMC->CurrentVolOffID(5,module);
- module--;
- AddImpact("PPSD",fIshunt, primary,tracknumber, module, pid, pmom, xyzm);
- }
- }