# include <AliDigitizer.h>
#endif
#ifndef ALIRUNDIGITIZER_H
-# include <AliRunDigitizer.h>
+# include <AliDigitizationInput.h>
#endif
#ifndef ALIFMDEdepMAP_H
# include "AliFMDEdepMap.h"
AliFMDBaseDigitizer();
/** Normal CTOR
@param manager Manager of digitization */
- AliFMDBaseDigitizer(AliRunDigitizer * manager);
+ AliFMDBaseDigitizer(AliDigitizationInput * digInp);
/** Normal ctor
@param name Name
@param title Title */
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
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 */
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
};