-#include <AliHit.h>
-#include <AliDigit.h>
-#include "AliRICHConst.h"
-#include "AliRICHChamber.h"
-
-class AliRICHRawCluster;
-class AliRICHRecHit1D;
-class AliRICHRecHit3D;
-
-//__________________AliRICHhit______________________________________________________________________
-//__________________________________________________________________________________________________
-//__________________________________________________________________________________________________
-class AliRICHhit : public AliHit
-{
-public:
- inline AliRICHhit();
- inline AliRICHhit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits);
- inline AliRICHhit(Int_t track,Int_t iPID,Int_t iChamber,TLorentzVector x4,Float_t eloss);
- virtual ~AliRICHhit() {;}
-
- Int_t Chamber() {return fChamber;}
- Int_t Particle() {return fParticle;}
- Float_t Theta() {return fTheta;}
- Float_t Phi() {return fPhi;}
- Float_t Tlength() {return fTlength;}
- Float_t Eloss() {return fEloss;}
- Float_t Loss() {return fLoss;}
- Float_t PHfirst() {return fPHfirst;}
- Float_t PHlast() {return fPHlast;}
- Float_t MomX() {return fMomX;}
- Float_t MomY() {return fMomY;}
- Float_t MomZ() {return fMomZ;}
- Float_t CerenkovAngle() {return fMomX;}
- Float_t MomFreoX() {return fMomX;}
- Float_t MomFreoY() {return fMomY;}
- Float_t MomFreoZ() {return fMomZ;}
-protected:
- Int_t fChamber; //chamber number
- Int_t fParticle; //particle code
- Float_t fTheta,fPhi ; //incident theta phi angles in degrees
- Float_t fTlength; //track length inside the chamber
- Float_t fEloss; //ionisation energy loss in gas
- Float_t fPHfirst; //first padhit
- Float_t fPHlast; //last padhit
- Float_t fLoss; // did it hit the freon?
- Float_t fMomX,fMomY,fMomZ; //momentum at photochatode entry point
- Float_t fNPads; // Pads hit
- Float_t fCerenkovAngle; // Dummy cerenkov angle
- Float_t fMomFreoX,fMomFreoY,fMomFreoZ; //momentum at freon entry point
- ClassDef(AliRICHhit,1) //RICH hit class
-};//class AliRICHhit
-
- //__________________________________________________________________________________________________
-AliRICHhit::AliRICHhit()
- :AliHit()
-{//default ctor
- fChamber=fParticle=kBad;
- fTheta=fPhi=fTlength=fEloss=fPHfirst=fPHlast=fLoss=kBad;
- fMomX=fMomY=fMomZ=fNPads=fCerenkovAngle=fMomFreoX=fMomFreoY=fMomFreoZ=kBad;
-}//AliRICHhit::default ctor
-//__________________________________________________________________________________________________
-AliRICHhit::AliRICHhit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hit):
- AliHit(shunt, track)
-{//ctor
- fChamber=vol[0];
- fParticle=(Int_t)hit[0];
- fX=hit[1];fY=hit[2];fZ=hit[3];
- fTheta=hit[4];fPhi=hit[5];
- fTlength=hit[6];
- fEloss=hit[7];
- fPHfirst=(Int_t)hit[8];
- fPHlast=(Int_t)hit[9];
- fLoss=hit[13];
- fMomX=hit[14];fMomY=hit[15];fMomZ=hit[16];
- fNPads=hit[17];
- fCerenkovAngle=hit[18];
- fMomFreoX=hit[19];fMomFreoY=hit[20];fMomFreoZ=hit[21];
-}//AliRICHhit::ctor
-//__________________________________________________________________________________________________
-AliRICHhit::AliRICHhit(Int_t track,Int_t iPID,Int_t iChamber,TLorentzVector x4,Float_t eloss):
- AliHit(0, track)
-{//ctor
- fChamber=iChamber;
- fParticle=iPID;
- fX=x4.X();fY=x4.Y();fZ=x4.Z();
- fEloss=eloss;
-}//AliRICHhit::ctor
-
-//__________________AliRICHCerenkov_________________________________________________________________
-//__________________________________________________________________________________________________
-//__________________________________________________________________________________________________
-class AliRICHCerenkov: public AliHit
-{
-public:
- inline AliRICHCerenkov();
- inline AliRICHCerenkov(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *Cerenkovs);
- virtual ~AliRICHCerenkov() {;}
-public:
- Int_t fChamber; //chamber number
- Float_t fTheta,fPhi; //incident theta phi angles in degrees
- Float_t fTlength; //track length inside the chamber
- Float_t fEloss; //ionisation energy loss in gas
- Int_t fPHfirst; //first padhit
- Int_t fPHlast; //last padhit
- Int_t fCMother; //index of mother particle
- Float_t fLoss; //nature of particle loss
- Float_t fIndex; //index of photon
- Float_t fProduction; //point of production
- Float_t fMomX,fMomY,fMomZ; //local Momentum
- Float_t fNPads; // Pads hit
- Float_t fCerenkovAngle; // Cerenkov Angle
-
- ClassDef(AliRICHCerenkov,1) //RICH cerenkov class
-};//class AliRICHCerenkov