100 if(
fPoint2->GetTrackID()==trId)
break;
108 fPro->PropagateToVolume(
"Emc12",0,1);
112 fPro->PropagateToVolume(
"Emc3",0,1);
116 fPro->PropagateToVolume(
"Emc4",0,1);
125 TVector3 StartPosErr = TVector3(0,0,0);
128 TVector3 StartMomErr = TVector3(0,0,0);
131 TVector3 EndPosErr=TVector3(0,0,0);
133 TVector3 EndMomErr=TVector3(0,0,0);
136 TDatabasePDG *fdbPDG= TDatabasePDG::Instance();
137 TParticlePDG *
fParticle= fdbPDG->GetParticle(PDGCode);
138 Double_t fCharge= fParticle->Charge();
141 Int_t size1 = clref1.GetEntriesFast();
142 FairTrackParH *fStart=
new (clref1[size1]) FairTrackParH(StartPos, StartMom, StartPosErr, StartMomErr, fCharge);
145 Int_t size = clref.GetEntriesFast();
146 FairTrackParH *fRes=
new(clref[size]) FairTrackParH();
149 Int_t size2 = clref2.GetEntriesFast();
150 FairTrackParH *fFinal=
new(clref2[size2]) FairTrackParH(EndPos, EndMom, EndPosErr, EndMomErr, fCharge);
152 cout <<
"fStart = " << endl;
154 Bool_t rc =
fPro->Propagate(fStart, fRes,PDGCode);
156 cout <<
"fFinal = " << endl;
158 cout <<
"fEnd = " << endl;
161 Double_t fLm,
fPhi,cLm,sLm,cphi,sphi,fX_sc,fY_sc,fZ_sc,
fX,
fY,
fZ;
163 fLm = fRes->GetLambda();
164 fPhi= fRes->GetPhi();
173 fX_sc = fX*cphi*cLm+ fY*cLm*sphi+fZ*sLm;
174 fY_sc = fY*cphi-fX*sphi;
175 fZ_sc = fZ*cLm-fY*sLm*sphi-fX*sLm*cphi;
177 fFinal->SetX_sc(fX_sc);
178 fFinal->SetY_sc(fY_sc);
179 fFinal->SetZ_sc(fZ_sc);
represents a mc hit in an emc crystal
Short_t GetModule() const
TClonesArray * fTrackParIni
TVector3 GetMomentum() const
TClonesArray * fPointArray2
TClonesArray * fTrackParFinal
TClonesArray * fPointArray1
TVector3 GetStartVertex() const
TClonesArray * fTrackParGeane