5 #include "ERmuSiPoint.h" 13 fX_out(0.), fY_out(0.), fZ_out(0.),
14 fPx_out(0.), fPy_out(0.), fPz_out(0.)
26 TVector3 posOut, TVector3 momIn, TVector3 momOut,
27 Double_t tof, Double_t length, Double_t eLoss, Int_t station)
28 : FairMCPoint(trackID, -1., posIn, momIn, tof, length, eLoss),
29 fIndex(index), fEventID(eventID),
30 fX_out(posOut.X()), fY_out(posOut.Y()), fZ_out(posOut.Z()),
31 fPx_out(momOut.X()), fPy_out(momOut.Y()), fPz_out(momOut.Z()),
35 fPAngle = TMath::ACos((fPx_out*fPx + fPy_out*fPy+fPz_out*fPz)/TMath::Sqrt(fPx*fPx+fPy*fPy+fPz*fPz)/
36 TMath::Sqrt(fPx_out*fPx_out+fPy_out*fPy_out+fPz_out*fPz_out));
45 fIndex(right.fIndex),fX_out(right.fX_out), fY_out(right.fY_out), fZ_out(right.fZ_out),
46 fPx_out(right.fPx_out), fPy_out(right.fPy_out), fPz_out(right.fPz_out),
47 fStation(right.fStation),fPAngle(right.fPAngle)
65 std::cout <<
"-I- ERmuSiPoint: track " << fTrackID <<
" mother track = " << fMot0TrackID << std::endl;
66 std::cout <<
" Position (" << fX <<
", " << fY <<
", " << fZ <<
") cm" << std::endl;
67 std::cout <<
" Momentum (" << fPx <<
", " << fPy <<
", " << fPz <<
") GeV" << std::endl;
68 std::cout <<
" Time " << fTime <<
" ns, Length " << fLength <<
" cm" << std::endl;
69 std::cout <<
" Energy loss " << fELoss <<
" keV "<< std::endl;
79 if ( (fZ_out-z)*(fZ-z) >= 0. )
return (fX_out+fX)/2.;
80 Double_t dz = fZ_out - fZ;
81 return ( fX + (z-fZ) / dz * (fX_out-fX) );
88 Double_t ERmuSiPoint::GetY(Double_t z)
const 90 if ( (fZ_out-z)*(fZ-z) >= 0. )
return (fY_out+fY)/2.;
91 Double_t dz = fZ_out - fZ;
93 return ( fY + (z-fZ) / dz * (fY_out-fY) );
102 Double_t dz = fZ_out - fZ;
103 if ( TMath::Abs(dz) < 1.e-4 )
return kFALSE;
Double_t GetX(Double_t z) const
virtual void Print(const Option_t *opt=0) const