]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDCalibFaker.h
Added classes to make fake calibration constants, and alignment data.
[u/mrichter/AliRoot.git] / FMD / AliFMDCalibFaker.h
1 #ifndef ALIFMDCALIBFAKER_H
2 #define ALIFMDCALIBFAKER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4  * reserved. 
5  *
6  * Latest changes by Christian Holm Christensen <cholm@nbi.dk>
7  *
8  * See cxx source for full Copyright notice                               
9  */
10
11 //____________________________________________________________________
12 //
13 //  Class to make fake calibration parameters 
14 //
15 #ifndef ROOT_TTask
16 # include <TTask.h>
17 #endif
18 #include "AliFMDParameters.h"      // ALIFMDPARAMETERS_H
19
20 class AliFMDCalibFaker : public TTask
21 {
22 public:
23   enum EWhat {
24     kZeroSuppression =  1, 
25     kSampleRate,
26     kPedestal,
27     kPulseGain,
28     kDeadMap,
29     kAltroMap
30   };
31   enum {
32     kAll             = (1<<kZeroSuppression|1<<kSampleRate|1<<kPedestal|
33                         1<<kPulseGain|1<<kDeadMap|1<<kAltroMap)
34   };
35   AliFMDCalibFaker(Int_t mask=kAll, const char* loc="local://cdb");
36   virtual ~AliFMDCalibFaker() {}
37   void AddCalib(EWhat w) { SETBIT(fMask, w); }
38   void RemoveCalib(EWhat w) { SETBIT(fMask, w); }
39   void SetCalib(Int_t mask) { fMask = mask; }
40   void SetGainSeed(Float_t g) { fGain = g; }
41   void SetThresholdFactor(Float_t t) { fThresholdFactor = t; }
42   void SetPedestalRange(Float_t min, Float_t max) 
43   {
44     fPedestalMin = min;
45     fPedestalMax = (max < min ? min : max);
46   }
47   void SetRunRange(Int_t min, Int_t max) 
48   {
49     fRunMin = min;
50     fRunMax = (max < min ? min : max);
51   }
52   void SetDeadChance(Float_t chance) { fDeadChance = chance; }
53   void SetRate(UShort_t rate) { fRate = rate; }
54   void SetZeroThreshold(UShort_t t) { fZeroThreshold = t; }
55   void SetDefaultStorage(const char* url) { SetTitle(url); }
56   void Exec(Option_t* option="");
57 protected:
58   virtual AliFMDCalibZeroSuppression* MakeZeroSuppression();
59   virtual AliFMDCalibSampleRate*      MakeSampleRate();
60   virtual AliFMDCalibPedestal*        MakePedestal();
61   virtual AliFMDCalibGain*            MakePulseGain();
62   virtual AliFMDCalibDeadMap*         MakeDeadMap();
63   virtual AliFMDAltroMapping*         MakeAltroMap();
64
65   Long_t   fMask;            // What to write 
66   Float_t  fGain;            // Gain
67   Float_t  fThresholdFactor; // Threshold factor
68   Float_t  fThreshold;       // Threshold
69   Float_t  fPedestalMin;     // Min pedestal
70   Float_t  fPedestalMax;     // Max pedestal
71   Float_t  fDeadChance;      // Chance of dead channel
72   UShort_t fRate;            // Sample rate 
73   UShort_t fZeroThreshold;   // Zero suppression threshold
74   Int_t    fRunMin;
75   Int_t    fRunMax;
76   
77   ClassDef(AliFMDCalibFaker,0)
78 };
79
80 #endif
81 //____________________________________________________________________
82 //
83 // Local Variables:
84 //   mode: C++
85 // End:
86 //
87 // EOF
88 //
89