-//====================================================================
-class AliFMDBaseDigitizer : public AliDigitizer
-{
-public:
- AliFMDBaseDigitizer();
- AliFMDBaseDigitizer(AliRunDigitizer * manager);
- AliFMDBaseDigitizer(const Char_t* name, const Char_t* title);
- virtual ~AliFMDBaseDigitizer();
-
- // Do the main work
- virtual Bool_t Init();
-
- // Extra member functions
- void SetVA1MipRange(UShort_t r=20) { fVA1MipRange = r; }
- void SetAltroChannelSize(UShort_t s=1024) { fAltroChannelSize = s;}
- void SetSampleRate(UShort_t r=1) { fSampleRate = (r>2 ? 2 : r); }
- void SetShapingTime(Float_t t=10) { fShapingTime = t; }
-
- UShort_t GetVA1MipRange() const { return fVA1MipRange; }
- UShort_t GetAltroChannelSize() const { return fAltroChannelSize; }
- UShort_t GetSampleRate() const { return fSampleRate; }
- Float_t GetShapingTime() const { return fShapingTime; }
-protected:
- virtual void SumContributions(AliFMD* fmd);
- virtual void DigitizeHits(AliFMD* fmd) const;
- virtual void ConvertToCount(Float_t edep,
- Float_t last,
- Float_t siThickness,
- Float_t siDensity,
- TArrayI& counts) const;
- virtual UShort_t MakePedestal() const { return 0; }
- virtual void AddNoise(TArrayI&) const {}
- virtual void AddDigit(AliFMD* /* fmd */,
- UShort_t /* detector */,
- Char_t /* ring */,
- UShort_t /* sector */,
- UShort_t /* strip */,
- Float_t /* edep */,
- UShort_t /* count1 */,
- Short_t /* count2 */,
- Short_t /* count3 */) const {}
-
- AliRunLoader* fRunLoader;
- AliFMDEdepMap fEdep; // Cache of Energy from hits
- UShort_t fVA1MipRange; // How many MIPs the pre-amp can do
- UShort_t fAltroChannelSize; // Largest # to store in 1 ADC chan.
- UShort_t fSampleRate; // Times the ALTRO samples pre-amp.
- Float_t fShapingTime; // Shaping profile parameter
-
- ClassDef(AliFMDBaseDigitizer,0) // Base class for FMD digitizers
-};