/*
$Log$
+ Revision 1.3 2000/11/01 15:37:44 jbarbosa
+ Removed verbose output.
+
Revision 1.2 2000/06/30 16:31:51 dibari
New drawing routine from Nico and Daniela.
fTheta = theta;
fPhi = phi;
fEmissPoint = emiss;
- fh=11.25;
+ fh=9.25;
}
//________________________________________________________________________________
iChamber = &(pRICH->Chamber(chamber));
AliRICHPatRec *PatRec = new AliRICHPatRec;
- PatRec->TrackParam(track,chamber);
+ PatRec->TrackParam(track,chamber,fTheta,fOmega);
//printf("Just created PateRec\n");
///printf("Calling DistancefromMip %f %f \n",fEmissPoint,fOmega);
//Float_t dummy =
- PatRec->DistanceFromMip(nfreonave, nquartzave,fEmissPoint,fOmega, phpad, pointsOnCathode);
+ PatRec->DistanceFromMip(nfreonave, nquartzave,fEmissPoint,fOmega, phpad, pointsOnCathode,fTheta,fPhi);
//Float_t points[3];
/*
$Log$
+ Revision 1.11 2001/03/14 18:21:24 jbarbosa
+ Corrected bug in digits loading.
+
Revision 1.10 2001/02/27 15:21:06 jbarbosa
Transition to SDigits.
// ntracks = 1;
for (itr=0; itr<ntracks; itr++) {
- status = TrackParam(itr,ich);
+ status = TrackParam(itr,ich,0,0);
if(status==1) continue;
//printf(" theta %f phi %f track \n",fTrackTheta,fTrackPhi);
// ring->Fill(fTrackLoc[0],fTrackLoc[1],100.);
}
-Int_t AliRICHPatRec::TrackParam(Int_t itr, Int_t &ich)
+Int_t AliRICHPatRec::TrackParam(Int_t itr, Int_t &ich, Float_t rectheta, Float_t recphi)
{
// Get Local coordinates of track impact
pY = mHit->fMomY;
pZ = mHit->fMomZ;
fTrackMom = sqrt(TMath::Power(pX,2)+TMath::Power(pY,2)+TMath::Power(pZ,2));
- thetatr = (mHit->fTheta)*(Float_t)kDegrad;
- phitr = mHit->fPhi*(Float_t)kDegrad;
+ if(recphi!=0 || rectheta!=0)
+ {
+ thetatr = rectheta;
+ phitr = recphi;
+ }
+ else
+ {
+ thetatr = mHit->fTheta*TMath::Pi()/180;
+ phitr = mHit->fPhi*TMath::Pi()/180;
+ }
iloss = mHit->fLoss;
part = mHit->fParticle;
f1 = 46.411;
f2 = 228.71;
- phpad = PhiPad();
+ phpad = PhiPad(fTrackTheta,fTrackPhi);
for (times=0; times<=1; times++) {
bandradius[times] = DistanceFromMip( nfreon[times], nquartz[times],
emissPointLength[times],
- thetacer[times], phpad, pointsOnCathode);
+ thetacer[times], phpad, pointsOnCathode,fTrackTheta,fTrackPhi);
//printf(" ppp %f %f %f \n",pointsOnCathode);
}
Float_t AliRICHPatRec::DistanceFromMip(Float_t nfreon, Float_t nquartz,
Float_t emissPointLength, Float_t thetacer,
- Float_t phpad, Float_t pointsOnCathode[3])
+ Float_t phpad, Float_t pointsOnCathode[3], Float_t rectheta, Float_t recphi)
{
// Find the distance to MIP impact
Float_t ngas = 1.;
- magEmissPointLenght = emissPointLength/cos(fTrackTheta);
+ magEmissPointLenght = emissPointLength/cos(rectheta);
vectEmissPointLength.SetMag(magEmissPointLenght);
- vectEmissPointLength.SetTheta(fTrackTheta);
- vectEmissPointLength.SetPhi(fTrackPhi);
+ vectEmissPointLength.SetTheta(rectheta);
+ vectEmissPointLength.SetPhi(recphi);
radExitPhot2.SetTheta(thetacer);
TRotation r2;
TRotation r;
- r1. RotateY(fTrackTheta);
- r2. RotateZ(fTrackPhi);
+ r1. RotateY(rectheta);
+ r2. RotateZ(recphi);
}
-Float_t AliRICHPatRec::PhiPad()
+Float_t AliRICHPatRec::PhiPad(Float_t rectheta, Float_t recphi)
{
// ??
TRotation r2;
TRotation r;
- thetarot = - fTrackTheta;
- phirot = - fTrackPhi;
+ thetarot = - rectheta;
+ phirot = - recphi;
r1. RotateZ(phirot);
r2. RotateY(thetarot);
AliRICHPatRec(const char *name, const char *title);
virtual ~AliRICHPatRec() {}
void PatRec();
- Int_t TrackParam(Int_t itr, Int_t &ich);
+ Int_t TrackParam(Int_t itr, Int_t &ich, Float_t rectheta, Float_t recphi);
//Old CERENK
Float_t EstimationAtLimits(Float_t lim, Float_t radius, Float_t phiphot);
//Old REC_ETAPHOT
Int_t PhotonInBand();
//Old RADII
Float_t DistanceFromMip(Float_t nf,Float_t nq,
- Float_t Em,Float_t th, Float_t ph, Float_t pointsOnCathode[3]);
+ Float_t Em,Float_t th, Float_t ph, Float_t pointsOnCathode[3], Float_t rectheta, Float_t recphi);
//Old GIME_PHI
- Float_t PhiPad();
+ Float_t PhiPad(Float_t rectheta, Float_t recphi);
//Old THREECOORD
//void CoordSphere(Float_t r, Float_t theta, Float_t phi, Float_t *x);
//Old ANGT