AliRoot Core  3dc7879 (3dc7879)
AliFMDBaseDigitizer.h
Go to the documentation of this file.
1 #ifndef ALIFMDBASEDIGITIZER_H
2 #define ALIFMDBASEDIGITIZER_H
3 /* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights
4  * reserved.
5  *
6  * See cxx source for full Copyright notice
7  */
8 // Classses to make Hits into digits and summable digits.
9 //
10 // Digits consists of
11 // - Detector #
12 // - Ring ID
13 // - Sector #
14 // - Strip #
15 // - ADC count in this channel
16 //
17 // Summable digits consists of
18 // - Detector #
19 // - Ring ID
20 // - Sector #
21 // - Strip #
22 // - Total energy deposited in the strip
23 // - ADC count in this channel
24 //
31 #ifndef ALIDIGITIZER_H
32 # include <AliDigitizer.h>
33 #endif
34 #ifndef ALIRUNDIGITIZER_H
35 # include <AliDigitizationInput.h>
36 #endif
37 #ifndef ALIFMDEdepMAP_H
38 # include "AliFMDEdepMap.h"
39 #endif
40 //====================================================================
41 class TClonesArray;
42 class AliFMD;
43 class AliLoader;
44 class AliRunLoader;
45 class AliFMDDigit;
46 
47 
48 //====================================================================
157 {
158 public:
167  AliFMDBaseDigitizer(const Char_t* name, const Char_t* title);
169  virtual ~AliFMDBaseDigitizer();
170 
172  virtual Bool_t Init();
173 
184  void SetShapingTime(Float_t B=10) { fShapingTime = B; }
186  Float_t GetShapingTime() const { return fShapingTime; }
187 
188  void SetStoreTrackRefs(Bool_t store=kTRUE) { fStoreTrackRefs = store; }
189  Bool_t IsStoreTrackRefs() const { return fStoreTrackRefs; }
190 
191 protected:
196  virtual void DigitizeHits() const;
206  virtual void ConvertToCount(Float_t edep,
207  Float_t last,
208  UShort_t detector,
209  Char_t ring,
210  UShort_t sector,
211  UShort_t strip,
212  TArrayI& counts) const;
219  virtual UShort_t MakePedestal(UShort_t detector,
220  Char_t ring,
221  UShort_t sector,
222  UShort_t strip) const;
224  virtual void AddNoise(TArrayI&) const {}
225 
227  virtual void AddContribution(UShort_t detector,
228  Char_t ring,
229  UShort_t sector,
230  UShort_t strip,
231  Float_t edep,
232  Bool_t isPrimary,
233  Int_t nTrackno,
234  Int_t* tracknos,
235  Int_t offset=0); //RS offset distinguishes tracks from different streams (embedding)
237  virtual void AddDigit(UShort_t detector,
238  Char_t ring,
239  UShort_t sector,
240  UShort_t strip,
241  Float_t edep,
242  UShort_t count1,
243  Short_t count2,
244  Short_t count3,
245  Short_t count4,
246  UShort_t ntot,
247  UShort_t nprim,
248  const TArrayI& refs) const;
252  virtual TTree* MakeOutputTree(AliLoader* loader);
255  virtual void StoreDigits(const AliLoader* loader);
256 
257  AliFMD* fFMD; // Detector object
259  AliFMDEdepMap fEdep; // Cache of Energy from hits
260  Float_t fShapingTime; // Shaping profile parameter
261  Bool_t fStoreTrackRefs; // Wether to store track references
262  mutable Int_t fIgnoredLabels;
263 
267  : AliDigitizer(o),
268  fFMD(o.fFMD),
269  fRunLoader(0),
270  fEdep(o.fEdep),
271  fShapingTime(o.fShapingTime),
272  fStoreTrackRefs(o.fStoreTrackRefs),
273  fIgnoredLabels(o.fIgnoredLabels)
274  {}
281 
282  ClassDef(AliFMDBaseDigitizer,5) // Base class for FMD digitizers
283 };
284 
285 
286 #endif
287 //____________________________________________________________________
288 //
289 // Local Variables:
290 // mode: C++
291 // End:
292 //
293 //
294 // EOF
295 //
296 
class for digits
Definition: AliFMDDigit.h:28
Map of Energy deposited, hit information per strip. Contains a pair of energy deposited fEdep and num...
Definition: AliFMDEdepMap.h:33
virtual void StoreDigits(const AliLoader *loader)
Per strip map of energy deposited and number of hits.
virtual void AddNoise(TArrayI &) const
Forward Multiplicity Detector based on Silicon wafers. This class is the driver for especially simula...
Definition: AliFMD.h:306
virtual TTree * MakeOutputTree(AliLoader *loader)
AliFMDBaseDigitizer & operator=(const AliFMDBaseDigitizer &o)
Bool_t IsStoreTrackRefs() const
void SetStoreTrackRefs(Bool_t store=kTRUE)
AliFMDBaseDigitizer(const AliFMDBaseDigitizer &o)
Number of labels not assigned.
void SetShapingTime(Float_t B=10)
virtual void AddContribution(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, Float_t edep, Bool_t isPrimary, Int_t nTrackno, Int_t *tracknos, Int_t offset=0)
virtual void DigitizeHits() 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
Float_t GetShapingTime() const
virtual void ConvertToCount(Float_t edep, Float_t last, UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, TArrayI &counts) const
AliFMDEdepMap fEdep
Run loader.
virtual UShort_t MakePedestal(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
Base class for digitizers.