#include <TClonesArray.h> //XxxCreate()
#include <TObjArray.h> //fDig,fClu field
#include <TClonesArray.h> //XxxCreate()
#include <TObjArray.h> //fDig,fClu field
- AliHMPID(const char *nm,const char *ttl); //named ctor
- AliHMPID( ):AliDetector( ),fSdi(0),fDig(0),fClu(0) {} //default ctor
+ AliHMPID(const char *nm,const char *ttl); //named ctor
+ AliHMPID( ):AliDetector( ),fDoFeed(kTRUE),fSdi(0),fDig(0),fClu(0) {} //default ctor
virtual void CreateMaterials ( )=0; //from AliModule invoked from AliMC::ConstructGeometry() to define detector materials
virtual void CreateGeometry ( )=0; //from AliModule invoked from AliMC::ConstructGeometry() to build detector for simulation
virtual void CreateMaterials ( )=0; //from AliModule invoked from AliMC::ConstructGeometry() to define detector materials
virtual void CreateGeometry ( )=0; //from AliModule invoked from AliMC::ConstructGeometry() to build detector for simulation
virtual Int_t IsVersion ( )const=0; //from AliModule not used
virtual void Init ( )=0; //from AliModule invoked from AliMC::InitGeometry() after CreateGeometry() to do VolID initialization
virtual Int_t IsVersion ( )const=0; //from AliModule not used
virtual void Init ( )=0; //from AliModule invoked from AliMC::InitGeometry() after CreateGeometry() to do VolID initialization
void MakeBranch (Option_t *opt=""); //from AliModule invokde from AliRun::Tree2Tree() to make requested HMPID branch
void SetTreeAddress ( ); //from AliModule invoked from AliRun::GetEvent(), AliLoader::SetTAddrInDet()
virtual void StepManager ( )=0; //from AliModule invoked from AliMC
//private part +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void MakeBranch (Option_t *opt=""); //from AliModule invokde from AliRun::Tree2Tree() to make requested HMPID branch
void SetTreeAddress ( ); //from AliModule invoked from AliRun::GetEvent(), AliLoader::SetTAddrInDet()
virtual void StepManager ( )=0; //from AliModule invoked from AliMC
//private part +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
TObjArray* DigLst ( )const{return fDig; }//get digits list for all chambers
TClonesArray* DigLst (Int_t c )const{return fDig ? (TClonesArray *)fDig->At(c):0; }//get digits list for chamber
TObjArray* DigLst ( )const{return fDig; }//get digits list for all chambers
TClonesArray* DigLst (Int_t c )const{return fDig ? (TClonesArray *)fDig->At(c):0; }//get digits list for chamber
- void DigCreate( ) {fDig=new TObjArray(7);for(Int_t i=0;i<7;i++)fDig->AddAt(new TClonesArray("AliHMPIDDigit"),i);}//create digits list
+ void DigCreate( ) {
+ if (fDig) return; //PH do not recreate existing containers
+ fDig=new TObjArray(7);for(Int_t i=0;i<7;i++)fDig->AddAt(new TClonesArray("AliHMPIDDigit"),i); }//create digits list
TObjArray* CluLst ( )const{return fClu; }//get clusters list for all chambers
TClonesArray* CluLst (Int_t c )const{return fClu ? (TClonesArray *)fClu->At(c):0; }//get clusters list for chamber
TObjArray* CluLst ( )const{return fClu; }//get clusters list for all chambers
TClonesArray* CluLst (Int_t c )const{return fClu ? (TClonesArray *)fClu->At(c):0; }//get clusters list for chamber
- inline void CluCreate( ) {fClu=new TObjArray(7); for(Int_t i=0;i<7;i++)fClu->AddAt(new TClonesArray("AliHMPIDCluster"),i);}//create clusters list
+ void CluCreate( ) {
+ if (fClu) return; //PH do not recreate existing containers
+ fClu=new TObjArray(7); for(Int_t i=0;i<7;i++)fClu->AddAt(new TClonesArray("AliHMPIDCluster"),i); }//create clusters list
TClonesArray *fSdi; //! list of sdigits
TObjArray *fDig; //! each chamber holds it's one list of digits
TObjArray *fClu; //! each chamber holds it's one list of clusters
TClonesArray *fSdi; //! list of sdigits
TObjArray *fDig; //! each chamber holds it's one list of digits
TObjArray *fClu; //! each chamber holds it's one list of clusters
AliHMPID(const AliHMPID &rich );
AliHMPID& operator=(const AliHMPID&);
ClassDef(AliHMPID,11) //Main HMPID class
};//class AliHMPID
AliHMPID(const AliHMPID &rich );
AliHMPID& operator=(const AliHMPID&);
ClassDef(AliHMPID,11) //Main HMPID class
};//class AliHMPID