]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDclusterizer.h
Added a commented out version with new digitizers.
[u/mrichter/AliRoot.git] / TRD / AliTRDclusterizer.h
index ab3089c96c5337bc965c002f50599aa402b8c395..d7aaac18ff515cb2a714dfbd8b17d884aedecab0 100644 (file)
@@ -6,8 +6,14 @@
 /* $Id$ */
 
 #include <TNamed.h>
-#include <TFile.h>
+#include <TObjArray.h>
 
+class TFile;
+class TTree;
+class AliRunLoader;
+class AliTRDparameter;
+class AliTRD;
+class AliTRDcluster;
 ///////////////////////////////////////////////////////
 //  Finds and handles cluster                        //
 ///////////////////////////////////////////////////////
@@ -18,36 +24,41 @@ class AliTRDclusterizer : public TNamed {
 
   AliTRDclusterizer();
   AliTRDclusterizer(const Text_t* name, const Text_t* title);
-  AliTRDclusterizer(AliTRDclusterizer &c);
+  AliTRDclusterizer(const AliTRDclusterizer &c);
   virtual ~AliTRDclusterizer();
-  
-  inline  AliTRDclusterizer &operator=(AliTRDclusterizer &c);
-  virtual void    Copy(AliTRDclusterizer &c);
-  virtual void    Init();
+  AliTRDclusterizer &operator=(const AliTRDclusterizer &c);
+
+  virtual void    Copy(TObject &c) const;
   virtual Bool_t  Open(const Char_t *name, Int_t nEvent = 0);
-  virtual Bool_t  MakeCluster() = 0;
-  virtual Bool_t  WriteCluster();
+  
+  virtual Bool_t  OpenInput(Int_t nEvent = 0);
+  virtual Bool_t  OpenOutput();
+  virtual Bool_t  MakeClusters() = 0;
+  virtual Bool_t  WriteClusters(Int_t det);
+  virtual void    SetParameter(AliTRDparameter *par)      { fPar           = par; };
+  void            SetVerbose(Int_t v = 1)                 { fVerbose       = v;   };
 
- protected:
+  AliTRDparameter *GetParameter()                   const { return fPar;          };
 
-  TFile   *fInputFile;             //! AliROOT input file
-  
-  Int_t    fEvent;                 //! Event number
+  TObjArray*      RecPoints() {if (!fRecPoints) fRecPoints = new TObjArray(400); return fRecPoints;}
+  virtual AliTRDcluster  * AddCluster(Double_t *pos, Int_t timebin, Int_t det, Double_t amp, Int_t *tracks
+                            , Double_t *sig, Int_t iType, Float_t center = 0);
+  void            ResetRecPoints() {if (fRecPoints) fRecPoints->Delete();}
 
-  ClassDef(AliTRDclusterizer,1)    // TRD-Cluster manager base class
+ protected:
 
-};
+   Double_t CalcXposFromTimebin(Float_t timebin, Float_t vdrift);
+       
+  AliRunLoader    *fRunLoader;     //! Run Loader
+  
+  TTree           *fClusterTree;   //! Tree with the cluster
+  AliTRDparameter *fPar;           //  TRD digitization parameter object
 
-//_____________________________________________________________________________
-AliTRDclusterizer &AliTRDclusterizer::operator=(AliTRDclusterizer &c)
-{
-  //
-  // Assignment operator
-  //
+  TObjArray*       fRecPoints;     //! Array of clusters
+  Int_t            fVerbose;       //  Sets the verbose level
 
-  if (this != &c) c.Copy(*this);
-  return *this;
+  ClassDef(AliTRDclusterizer,3)    //  TRD-Cluster manager base class
 
-}
+};
 
 #endif