]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RICH/AliRICHHit.h
Additional protection. The origin of clusters with wrong sector numbers should be...
[u/mrichter/AliRoot.git] / RICH / AliRICHHit.h
index 81db3cfe87e989a798208671b7eb138c9df42ddb..a0210cd18db936fbb28cfb8e459a4bfca169f0b4 100644 (file)
@@ -1,57 +1,36 @@
-#ifndef ALIRICHHIT_H
-#define ALIRICHHIT_H
-
-
+#ifndef AliRICHHit_h
+#define AliRICHHit_h
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-/* $Id$ */
-
-
-#include "AliHit.h"
-
-class AliRICHHit : public AliHit {
- public:
-    Int_t     fChamber;       // Chamber number
-    Float_t   fParticle;      // Geant3 particle type
-    Float_t   fTheta ;        // Incident theta angle in degrees      
-    Float_t   fPhi   ;        // Incident phi angle 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;          // x Momentum at photochatode entry point
-    Float_t   fMomY;          // y Momentum at photochatode entry point
-    Float_t   fMomZ;          // z Momentum at photochatode entry point
-    Float_t   fNPads;         // Pads hit
-    Float_t   fCerenkovAngle; // Dummy cerenkov angle
-    Float_t   fMomFreoX;      // x Momentum at freon entry point
-    Float_t   fMomFreoY;      // y Momentum at freon entry point
-    Float_t   fMomFreoZ;      // z Momentum at freon entry point                  
+#include <AliHit.h>
+#include <TVector3.h>
 
- public:
-    AliRICHHit() {}
-    AliRICHHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits);
-    virtual ~AliRICHHit() {}
-    
-    Int_t   Chamber()             {return fChamber;}
-    Float_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   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;}
-    
-    
-    ClassDef(AliRICHHit,1)  //Hits object for set:RICH
-};
+//RICH hit container
+class AliRICHHit : public AliHit
+{
+public:
+  AliRICHHit()                                                                         :AliHit(     ),fCham(-1) ,fE(-1),fPid(-1 ){fInX3.SetXYZ(0,0,0);fOutX3.SetXYZ(0,0,0);}
+  AliRICHHit(Int_t c,Int_t tid,TVector3 in,TVector3 out,Double_t e,Int_t pid)          :AliHit(0,tid),fCham(c ) ,fE(e) ,fPid(pid){fInX3=in; fOutX3=out; fX=out.X();fY=out.Y();fZ=out.Z();}
+  AliRICHHit(Int_t tid,Double_t e,Int_t pad,Double_t x,Double_t y,Double_t z,Int_t pid):AliHit(0,tid),fCham(pad),fE(e) ,fPid(pid){fX=x;fY=y;fZ=z;}
+           
+  virtual ~AliRICHHit()                                                                                            {}
+//framework part
+  void     Print(Option_t *option="")const;                               //from TObject to print current status
+//private part  
+  Int_t    C      ()const{return fCham;}                //chamber number 
+  Int_t    Chamber()const{return fCham;}                //chamber number 
+  Int_t    Pad    ()const{return fCham;}                //absolute pad number, definition in AliRICHParam
+  Float_t  Eloss  ()const{return fE;   }                //Eloss for MIP hit or Etot for photon hit
+  TVector3 InX3   ()const{return fInX3;}                //track position at the faceplane of the gap 
+  TVector3 OutX3  ()const{return fOutX3;}               //track position at the backplane of the gap 
+  Double_t Length ()const{return (fOutX3-fInX3).Mag();} //track length inside the amplification gap
+protected:
+  Int_t     fCham;                         //chamber number or in future absolute pad number
+  Double_t  fE;                            //Eloss for MIP or Etot for photon [GeV]
+  Int_t     fPid;                          //PID of particle created this hit
+  TVector3  fInX3;                         //position at the entrance of the GAP   
+  TVector3  fOutX3;                        //position at the exit of the GAP
+  ClassDef(AliRICHHit,3)                   //RICH hit class
+};//class AliRICHhit
 #endif