]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HMPID/AliHMPID.h
Minor protection
[u/mrichter/AliRoot.git] / HMPID / AliHMPID.h
index b7f3aef62255e5c89a39dd91cc340b06e3ff6f6a..83ed19b4d1f4f9800afd813d27df6561f8d4f52a 100644 (file)
@@ -5,7 +5,7 @@
 
 #include <AliDetector.h>  //base class
 #include <TClonesArray.h> //XxxCreate() 
-#include <TObjArray.h>    //fClu field
+#include <TObjArray.h>    //fDig,fClu field
 
 
 
@@ -20,8 +20,10 @@ public:
           void  BuildGeometry   (                ) {}          //from AliModule invoked from AliMC::InitGeometry() to build geometry for old event display
   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 void  DefineOpticalProperties() {}                   //from AliModule invoked from AliMC::ConstructOpGeometry() to set Cerenkov properties
           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
@@ -36,18 +38,19 @@ public:
          
   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
   void          DigReset (         )     {if(fDig)for(int i=0;i<7;i++)fDig->At(i)->Clear();                     }//clean digits list 
   void          DigPrint (Int_t evt)const;                                                                       //print digits
           
+  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
          void   CluReset (         )     {if(fClu)for(int i=0;i<7;i++)fClu->At(i)->Clear();                     }//clean clusters list
          void   CluPrint (Int_t evt)const;                                                                       //print clusters list
-         
-  void          OccupancyPrint(Int_t evt=-1);                    //print chambers occupancy 
-  void          SummaryOfEvent(Int_t evt=0)const;
-
 protected:  
   TClonesArray         *fSdi;                     //! list of sdigits  
   TObjArray            *fDig;                     //! each chamber holds it's one list of digits