]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMDBaseDigitizer.h
Printf replacing AliInfo to solve savannah ticket #93800
[u/mrichter/AliRoot.git] / FMD / AliFMDBaseDigitizer.h
index 473fbe769852e814e9f76af967653a39ace30e69..0c9e85da50ea6097e8cefc97fe8d76997112e79a 100644 (file)
@@ -32,7 +32,7 @@
 # include <AliDigitizer.h>
 #endif
 #ifndef ALIRUNDIGITIZER_H
-# include <AliRunDigitizer.h>
+# include <AliDigitizationInput.h>
 #endif
 #ifndef ALIFMDEdepMAP_H
 # include "AliFMDEdepMap.h"
@@ -160,7 +160,7 @@ public:
   AliFMDBaseDigitizer();
   /** Normal CTOR 
       @param manager Manager of digitization */
-  AliFMDBaseDigitizer(AliRunDigitizer * manager);
+  AliFMDBaseDigitizer(AliDigitizationInput * digInp);
   /** Normal ctor 
       @param name Name 
       @param title Title */
@@ -184,6 +184,10 @@ public:
   void     SetShapingTime(Float_t B=10) { fShapingTime = B;  }  
   /** @return Get the shaping time */
   Float_t  GetShapingTime()      const { return fShapingTime; }
+  
+  void SetStoreTrackRefs(Bool_t store=kTRUE) { fStoreTrackRefs = store; }
+  Bool_t IsStoreTrackRefs() const { return fStoreTrackRefs; }
+    
 protected:
   /** For the stored energy contributions in the cache, convert the
       energy signal to ADC counts, and store the created digit in  
@@ -224,29 +228,37 @@ protected:
                               Char_t   ring, 
                               UShort_t sector, 
                               UShort_t strip, 
-                              Float_t  edep);
+                              Float_t  edep, 
+                              Bool_t   isPrimary,
+                              Int_t    nTrackno,
+                              Int_t*   tracknos);
   /** Add a digit to output */
-  virtual void     AddDigit(UShort_t detector, 
-                           Char_t   ring,
-                           UShort_t sector, 
-                           UShort_t strip, 
-                           Float_t  edep, 
-                           UShort_t count1, 
-                           Short_t  count2, 
-                           Short_t  count3,
-                           Short_t  count4) const;
+  virtual void     AddDigit(UShort_t       detector, 
+                           Char_t         ring,
+                           UShort_t       sector, 
+                           UShort_t       strip, 
+                           Float_t        edep, 
+                           UShort_t       count1, 
+                           Short_t        count2, 
+                           Short_t        count3,
+                           Short_t        count4, 
+                           UShort_t       ntot, 
+                           UShort_t       nprim,
+                           const TArrayI& refs) const;
   /** Make the output tree using the passed loader 
       @param loader 
       @return The generated tree. */
   virtual TTree* MakeOutputTree(AliLoader* loader);
   /** Store the data using the loader 
       @param loader The loader */
-  virtual void StoreDigits(AliLoader* loader);
+  virtual void StoreDigits(const AliLoader* loader);
 
-  AliFMD*       fFMD;
-  AliRunLoader* fRunLoader;       //! Run loader
-  AliFMDEdepMap fEdep;             // Cache of Energy from hits 
-  Float_t       fShapingTime;      // Shaping profile parameter
+  AliFMD*         fFMD;              // Detector object 
+  AliRunLoader*   fRunLoader;       //! Run loader
+  AliFMDEdepMap   fEdep;             // Cache of Energy from hits 
+  Float_t         fShapingTime;      // Shaping profile parameter
+  Bool_t          fStoreTrackRefs;   // Wether to store track references
+  mutable Int_t   fIgnoredLabels;    //! Number of labels not assigned 
   
   /** Copy CTOR 
       @param o object to copy from  */
@@ -255,19 +267,18 @@ protected:
       fFMD(o.fFMD),
       fRunLoader(0),
       fEdep(o.fEdep),
-      fShapingTime(o.fShapingTime)
+      fShapingTime(o.fShapingTime),
+      fStoreTrackRefs(o.fStoreTrackRefs), 
+      fIgnoredLabels(o.fIgnoredLabels)
   {}
-  /** Assignment operator
-      @return Reference to this object */
-  AliFMDBaseDigitizer& operator=(const AliFMDBaseDigitizer& o) 
-  { 
-    AliDigitizer::operator=(o);
-    fRunLoader   = o.fRunLoader;
-    fEdep        = o.fEdep;
-    fShapingTime = o.fShapingTime;
-    return *this; 
-  }
-  ClassDef(AliFMDBaseDigitizer,2) // Base class for FMD digitizers
+  /** 
+   * Assignment operator
+   * 
+   * @return Reference to this object 
+   */
+  AliFMDBaseDigitizer& operator=(const AliFMDBaseDigitizer& o);
+
+  ClassDef(AliFMDBaseDigitizer,5) // Base class for FMD digitizers
 };