]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliDetector.h
SetSamplingFraction() removed from constructor.
[u/mrichter/AliRoot.git] / STEER / AliDetector.h
index 95fe6a2cc460a2ac73a779616a010ea470c4f560..8100fc11128411c916625e133793659a8614b3c5 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <AliModule.h>
 class AliHit;
+class AliTrackReference;
 class TTree;
 class TBranch;
 
@@ -17,15 +18,18 @@ public:
   // Creators - distructors
   AliDetector(const char* name, const char *title);
   AliDetector();
-  AliDetector(const AliDetector &det) {det.Copy(*this);}
+  AliDetector(const AliDetector &det);
   virtual ~AliDetector();
 
   // Inline functions
-          void  Copy(AliDetector &det) const;
+  void  Copy(AliDetector &det) const;
   virtual int   GetNdigits() const {return fNdigits;}
   virtual int   GetNhits()   const {return fNhits;}
   TClonesArray *Digits() const {return fDigits;}
   TClonesArray *Hits()   const {return fHits;}
+  TClonesArray *TrackReferences()   const {return fTrackReferences;}
+  virtual void        RemapTrackReferencesIDs(Int_t *map); //remaping track references MI
+
   TObjArray    *Points() const {return fPoints;}
   Int_t         GetIshunt() const {return fIshunt;}
   void          SetIshunt(Int_t ishunt) {fIshunt=ishunt;}
@@ -38,8 +42,11 @@ public:
   virtual void        FinishRun();
   virtual void        LoadPoints(Int_t track);
   virtual void        MakeBranch(Option_t *opt=" ", const char *file=0 );
+  virtual void        MakeBranchTR(Option_t *opt=" ", const char *file=0 );
   virtual void        ResetDigits();
   virtual void        ResetHits();
+  virtual void        ResetTrackReferences();
+
   virtual void        ResetPoints();
   virtual void        SetTreeAddress();
   virtual void        SetTimeGate(Float_t gate) {fTimeGate=gate;}
@@ -48,6 +55,8 @@ public:
   virtual void        DrawModule() {}
   virtual AliHit*     FirstHit(Int_t track);
   virtual AliHit*     NextHit();
+  virtual AliTrackReference * FirstTrackReference(Int_t track);
+  virtual AliTrackReference * NextTrackReference();
   virtual void        SetBufferSize(Int_t bufsize=8000) {fBufferSize = bufsize;}  
   virtual TBranch*    MakeBranchInTree(TTree *tree, const char* cname, void* address, Int_t size=32000, const char *file=0);
   virtual TBranch*    MakeBranchInTree(TTree *tree, const char* cname, const char* name, void* address, Int_t size=32000, Int_t splitlevel=99, const char *file=0);
@@ -65,7 +74,9 @@ protected:
   TClonesArray *fDigits;      //List of digits for this detector
   char         *fDigitsFile;  //!File to store branches of digits tree for detector 
   TObjArray    *fPoints;      //!Array of points for each track (all tracks in memory)
-
-  ClassDef(AliDetector,1)  //Base class for ALICE detectors
+  TClonesArray *fTrackReferences; //list of track references - for one primary track only -MI
+  Int_t         fMaxIterTrackRef; //!for track refernce iterator routines
+  Int_t         fCurrentIterTrackRef; //!for track refernce iterator routines
+  ClassDef(AliDetector,2)  //Base class for ALICE detectors
 };
 #endif