]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDDigitizer.h
pedestal values subtracted
[u/mrichter/AliRoot.git] / FMD / AliFMDDigitizer.h
1 #ifndef ALIFMDDIGITIZER_H
2 #define ALIFMDDIGITIZER_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 //
25 /** @file    AliFMDDigitizer.h
26     @author  Christian Holm Christensen <cholm@nbi.dk>
27     @date    Mon Mar 27 12:38:26 2006
28     @brief   FMD Digitizers declaration
29     @ingroup FMD_sim
30 */
31 #ifndef ALIFMDBASEDIGITIZER_H
32 # include <AliFMDBaseDigitizer.h>
33 #endif
34
35 //====================================================================
36 class TClonesArray;
37 class AliFMD;
38 class AliLoader;
39 class AliRunLoader;
40 class AliFMDDigit;
41
42
43
44 //====================================================================
45 /** @class AliFMDDigitizer
46     @brief Concrete digitizer to make digits from hits.  See also
47     AliFMDBaseDigitizer documentation.  
48     @ingroup FMD_sim
49  */
50 class AliFMDDigitizer : public AliFMDBaseDigitizer 
51 {
52 public:
53   /** CTOR */
54   AliFMDDigitizer();
55   /** CTOR 
56       @param manager Manager of digitization */
57   AliFMDDigitizer(AliRunDigitizer * manager);
58   /** DTOR */
59   virtual ~AliFMDDigitizer() {}
60   /** Do everything
61       @param option Not used */
62   virtual void  Exec(Option_t* option=0);
63 protected:
64   /** Add a digit to output.
65       @param fmd      Pointer to detector object
66       @param detector Detector #
67       @param ring     Ring ID
68       @param sector   Sector number
69       @param strip    Strip number
70       @param edep     Energy deposited (not used)
71       @param count1   ADC count 1
72       @param count2   ADC count 2 (-1 if not used)
73       @param count3   ADC count 3 (-1 if not used) 
74       @param count4   ADC count 4 (-1 if not used) */
75   virtual void     AddDigit(AliFMD*  fmd,
76                             UShort_t detector, 
77                             Char_t   ring,
78                             UShort_t sector, 
79                             UShort_t strip, 
80                             Float_t  edep, 
81                             UShort_t count1, 
82                             Short_t  count2, 
83                             Short_t  count3,
84                             Short_t  count4) const;
85   /** MAke a pedestal
86       @param detector Detector #
87       @param ring     Ring ID
88       @param sector   Sector number
89       @param strip    Strip number
90       @return Random noise */
91   virtual UShort_t MakePedestal(UShort_t  detector, 
92                                 Char_t    ring, 
93                                 UShort_t  sector, 
94                                 UShort_t  strip) const;
95   /** Check that digit data is consistent
96       @param digit   Digit
97       @param nhits   Number of hits
98       @param counts  ADC counts */
99   virtual void     CheckDigit(AliFMDDigit*    digit,
100                               UShort_t        nhits,
101                               const TArrayI&  counts);
102   ClassDef(AliFMDDigitizer,1) // Make Digits from Hits
103 };
104
105
106 #endif
107 //____________________________________________________________________
108 //
109 // Local Variables:
110 //   mode: C++
111 // End:
112 //
113 //
114 // EOF
115 //
116