]>
Commit | Line | Data |
---|---|---|
2f614988 | 1 | #ifndef AliRICH_h |
2 | #define AliRICH_h | |
3da30618 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
db910db9 | 6 | #include <AliDetector.h> //base class |
e30ca504 | 7 | #include <TClonesArray.h> //XxxCreate() |
8 | #include <TObjArray.h> //fClu field | |
1c349ae5 | 9 | |
d4c94996 | 10 | |
3ea9cb08 | 11 | |
db910db9 | 12 | class AliRICH : public AliDetector //TObject-TNamed-AliModule-AliDetector-AliRICH |
2f614988 | 13 | { |
2f614988 | 14 | public: |
a25b3368 | 15 | //ctor & dtor |
e30ca504 | 16 | AliRICH(const char *nm,const char *ttl); //named ctor |
17 | AliRICH( ):AliDetector( ),fSdi(0),fDig(0),fClu(0) {} //default ctor | |
853634d3 | 18 | virtual ~AliRICH(); |
d4c94996 | 19 | //framework part |
e30ca504 | 20 | void BuildGeometry ( ) {} //from AliModule invoked from AliMC::InitGeometry() to build geometry for old event display |
21 | virtual void CreateMaterials ( )=0; //from AliModule invoked from AliMC::ConstructGeometry() to define detector materials | |
22 | virtual void CreateGeometry ( )=0; //from AliModule invoked from AliMC::ConstructGeometry() to build detector for simulation | |
23 | virtual Int_t IsVersion ( )const=0; //from AliModule not used | |
24 | virtual void Init ( )=0; //from AliModule invoked from AliMC::InitGeometry() after CreateGeometry() to do VolID initialization | |
25 | void MakeBranch (Option_t *opt=""); //from AliModule invokde from AliRun::Tree2Tree() to make requested RICH branch | |
26 | void SetTreeAddress ( ); //from AliModule invoked from AliRun::GetEvent(), AliLoader::SetTAddrInDet() | |
27 | virtual void StepManager ( )=0; //from AliModule invoked from AliMC | |
28 | //private part +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | |
29 | void HitCreate( ) {if(fHits)return; fHits=new TClonesArray("AliRICHHit"); fNhits=0; }//create hits list | |
30 | void HitPrint (Int_t evt)const; //print hits list | |
31 | ||
32 | TClonesArray* SdiLst ( )const{return fSdi; }//get sdigits list | |
33 | void SdiCreate( ) {if(fSdi)return; fSdi=new TClonesArray("AliRICHDigit"); }//create sdigits list | |
34 | void SdiReset ( ) {if(fSdi) fSdi ->Clear(); }//clean sdigits list | |
35 | void SdiPrint (Int_t evt)const; //print sdigits | |
0fe8fa07 | 36 | |
e30ca504 | 37 | TObjArray* DigLst ( )const{return fDig; }//get digits list for all chambers |
38 | TClonesArray* DigLst (Int_t c )const{return fDig ? (TClonesArray *)fDig->At(c):0; }//get digits list for chamber | |
39 | void DigCreate( ) {fDig=new TObjArray(7);for(Int_t i=0;i<7;i++)fDig->AddAt(new TClonesArray("AliRICHDigit"),i);}//create digits list | |
40 | void DigReset ( ) {if(fDig)for(int i=0;i<7;i++)fDig->At(i)->Clear(); }//clean digits list | |
41 | void DigPrint (Int_t evt)const; //print digits | |
0fe8fa07 | 42 | |
e30ca504 | 43 | TClonesArray* CluLst (Int_t c )const{return fClu ? (TClonesArray *)fClu->At(c):0; }//get clusters list for chamber |
44 | inline void CluCreate( ) {fClu=new TObjArray(7); for(Int_t i=0;i<7;i++)fClu->AddAt(new TClonesArray("AliRICHCluster"),i);}//create clusters list | |
45 | void CluReset ( ) {if(fClu)for(int i=0;i<7;i++)fClu->At(i)->Clear(); }//clean clusters list | |
46 | void CluPrint (Int_t evt)const; //print clusters list | |
0fe8fa07 | 47 | |
e30ca504 | 48 | void OccupancyPrint(Int_t evt=-1); //print chambers occupancy |
49 | void SummaryOfEvent(Int_t evt=0)const; | |
56030c8d | 50 | |
c60862bf | 51 | protected: |
e30ca504 | 52 | TClonesArray *fSdi; //! list of sdigits |
db910db9 | 53 | TObjArray *fDig; //! each chamber holds it's one list of digits |
db910db9 | 54 | TObjArray *fClu; //! each chamber holds it's one list of clusters |
a25b3368 | 55 | |
e939a978 | 56 | private: |
57 | AliRICH(const AliRICH &rich ); | |
58 | AliRICH& operator=(const AliRICH&); | |
59 | ||
db910db9 | 60 | ClassDef(AliRICH,11) //Main RICH class |
c60862bf | 61 | };//class AliRICH |
e30ca504 | 62 | //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
63 | #endif |