]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliModule.h
Added Digits2Reco() method to hook up the reconstruction code.
[u/mrichter/AliRoot.git] / STEER / AliModule.h
index d8d7b977cb4b6cf8057802ee86bd68747d9669bd..cbc8bfb89c61ea2ad238b3f1028a09294335001f 100644 (file)
@@ -8,13 +8,16 @@
 #include "TNamed.h"
 #include "TAttLine.h"
 #include "TAttMarker.h"
+#include "AliRndm.h"
 
 //#include <TSystem.h>
 class TClonesArray;
 class TBrowser;
 class TArrayI;
+class TFile;
 
-class AliModule : public TNamed , public TAttLine, public TAttMarker {
+class AliModule : public TNamed , public TAttLine, public TAttMarker,
+                  public AliRndm {
 public:
 
   // Creators - distructors
@@ -38,6 +41,8 @@ public:
   virtual  Bool_t        IsFolder() const {return kTRUE;}
   virtual  Int_t&        LoMedium() {return fLoMedium;}
   virtual  Int_t&        HiMedium() {return fHiMedium;}
+  virtual  Int_t         GetDebug() const {return fDebug;}
+  virtual  void          SetDebug(Int_t deb=0) {fDebug=deb;}
 
   // Module composition
   virtual void AliMaterial(Int_t imat, const char* name, Float_t a, 
@@ -67,6 +72,11 @@ public:
   Error("AddDigit","Digits cannot be added to module %s\n",fName.Data());}
   virtual void        AddHit(Int_t, Int_t*, Float_t *) {
   Error("AddDigit","Hits cannot be added to module %s\n",fName.Data());}
+  virtual void        Hits2SDigits() {}
+  virtual void        SDigits2Digits() {}
+  virtual void        Digits2Reco() {}
+  virtual void        Digits2Raw() {}
+  virtual void        Raw2Digits() {}
   virtual void        Browse(TBrowser *) {}
   virtual void        CreateGeometry() {}
   virtual void        CreateMaterials() {}
@@ -77,12 +87,16 @@ public:
   virtual void        PostTrack(){}
   virtual void        FinishEvent() {}
   virtual void        FinishRun() {}
+  virtual void        FinishPrimary() {}
+  virtual void        RemapTrackHitIDs(Int_t *map) {}
+
   //virtual void        Hits2Digits() {}
   virtual void        Init() {}
   virtual void        LoadPoints(Int_t ) {}
-  virtual void        MakeBranch(Option_t *) {}
+  virtual void        MakeBranch(Option_t *, char *file=0 ) {}
   virtual void        Paint(Option_t *) {}
   virtual void        ResetDigits() {}
+  virtual void        ResetSDigits() {}
   virtual void        ResetHits() {}
   virtual void        ResetPoints() {}
   virtual void        SetTreeAddress() {}
@@ -90,6 +104,8 @@ public:
   virtual Float_t     GetTimeGate() const {return 1.e10;}
   virtual void        StepManager() {}
   virtual void        SetBufferSize(Int_t) {}  
+  virtual Float_t     ZMin() const;
+  virtual Float_t     ZMax() const;
   virtual void        SetEuclidFile(char *material,char *geometry=0);
   virtual void ReadEuclid(const char *filnam, char *topvol);
   virtual void ReadEuclidMedia(const char *filnam);
@@ -99,17 +115,18 @@ public:
 protected:      
   // Data members
   
-  TString       fEuclidMaterial;  //Name of the Euclid file for materials (if any)
-  TString       fEuclidGeometry;  //Name of the Euclid file for geometry (if any)
+  TString       fEuclidMaterial;  //!Name of the Euclid file for materials (if any)
+  TString       fEuclidGeometry;  //!Name of the Euclid file for geometry (if any)
   
-  TArrayI      *fIdtmed;      //List of tracking medium numbers
-  TArrayI      *fIdmate;      //List of material numbers
-  Int_t         fLoMedium;   //Minimum tracking medium ID for this Module
-  Int_t         fHiMedium;   //Maximum tracking medium ID for this Module
+  TArrayI      *fIdtmed;      //!List of tracking medium numbers
+  TArrayI      *fIdmate;      //!List of material numbers
+  Int_t         fLoMedium;   //!Minimum tracking medium ID for this Module
+  Int_t         fHiMedium;   //!Maximum tracking medium ID for this Module
 
   Bool_t        fActive;      //Detector activity flag
   TList        *fHistograms;  //List of histograms
   TList        *fNodes;       //List of geometry nodes
+  Int_t         fDebug;       //Debug flag
 
   ClassDef(AliModule,1)  //Base class for ALICE Modules
 };