1 #ifndef ALIFMDDIGITIZER_H
2 #define ALIFMDDIGITIZER_H
3 /* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights
6 * See cxx source for full Copyright notice
9 # include <AliDigitizer.h>
11 #ifndef ALIRUNDIGITIZER_H
12 # include <AliRunDigitizer.h>
14 #ifndef ALIFMDEdepMAP_H
15 # include "AliFMDEdepMap.h"
20 // #ifndef ROOT_TArrayF
21 // # include <TArrayF.h>
24 //====================================================================
32 //====================================================================
33 class AliFMDBaseDigitizer : public AliDigitizer
36 AliFMDBaseDigitizer();
37 AliFMDBaseDigitizer(AliRunDigitizer * manager);
38 AliFMDBaseDigitizer(const Char_t* name, const Char_t* title);
39 virtual ~AliFMDBaseDigitizer();
42 virtual Bool_t Init();
44 // Extra member functions
45 void SetShapingTime(Float_t t=10) { fShapingTime = t; }
46 Float_t GetShapingTime() const { return fShapingTime; }
48 virtual void SumContributions(AliFMD* fmd);
49 virtual void DigitizeHits(AliFMD* fmd) const;
50 virtual void ConvertToCount(Float_t edep,
56 TArrayI& counts) const;
57 virtual UShort_t MakePedestal(UShort_t detector,
60 UShort_t strip) const;
61 virtual void AddNoise(TArrayI&) const {}
62 virtual void AddDigit(AliFMD* /* fmd */,
63 UShort_t /* detector */,
65 UShort_t /* sector */,
68 UShort_t /* count1 */,
70 Short_t /* count3 */) const {}
72 AliRunLoader* fRunLoader; //! Run loader
73 AliFMDEdepMap fEdep; // Cache of Energy from hits
74 Float_t fShapingTime; // Shaping profile parameter
76 AliFMDBaseDigitizer(const AliFMDBaseDigitizer& o)
78 AliFMDBaseDigitizer& operator=(const AliFMDBaseDigitizer&) { return *this; }
79 ClassDef(AliFMDBaseDigitizer,2) // Base class for FMD digitizers
82 //====================================================================
83 class AliFMDDigitizer : public AliFMDBaseDigitizer
87 AliFMDDigitizer(AliRunDigitizer * manager);
88 virtual ~AliFMDDigitizer() {}
89 virtual void Exec(Option_t* option=0);
91 virtual void AddDigit(AliFMD* fmd,
99 Short_t count3) const;
100 virtual UShort_t MakePedestal(UShort_t detector,
103 UShort_t strip) const;
104 virtual void CheckDigit(AliFMDDigit* digit,
106 const TArrayI& counts);
107 ClassDef(AliFMDDigitizer,1) // Make Digits from Hits
110 //====================================================================
111 class AliFMDSDigitizer : public AliFMDBaseDigitizer
115 AliFMDSDigitizer(const Char_t* headerFile, const Char_t* sdigFile="");
116 virtual ~AliFMDSDigitizer();
117 virtual void Exec(Option_t* option=0);
119 virtual void AddDigit(AliFMD* fmd,
127 Short_t count3) const;
128 ClassDef(AliFMDSDigitizer,0) // Make Summable Digits from Hits
134 //____________________________________________________________________