]>
Commit | Line | Data |
---|---|---|
a3537838 | 1 | #ifndef ALIFMDCALIBPEDESTAL_H |
2 | #define ALIFMDCALIBPEDESTAL_H | |
3 | /* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights | |
4 | * reserved. | |
5 | * | |
6 | * See cxx source for full Copyright notice | |
7 | */ | |
02a27b50 | 8 | //____________________________________________________________________ |
9 | // | |
10 | // This class stores a pedestal and pedestal width for each strip in | |
11 | // the FMD detectors. | |
12 | // The values are stored as floats, since they may be results from a | |
13 | // fit. | |
14 | // Need to make algorithm that makes this data | |
c2fc1258 | 15 | /** @file AliFMDCalibPedestal.h |
16 | @author Christian Holm Christensen <cholm@nbi.dk> | |
17 | @date Sun Mar 26 18:30:51 2006 | |
18 | @brief Per strip pedestal calibration | |
02a27b50 | 19 | @ingroup FMD_base |
c2fc1258 | 20 | */ |
a3537838 | 21 | #ifndef ALIFMDFLOATMAP_H |
22 | # include <AliFMDFloatMap.h> | |
23 | #endif | |
e064ab4a | 24 | #include <iosfwd> |
f560b28c | 25 | class AliFMDBoolMap; |
e064ab4a | 26 | |
a3537838 | 27 | //____________________________________________________________________ |
c2fc1258 | 28 | /** @brief Pedestal value and width for each strip in the FMD |
9f662337 | 29 | @ingroup FMD_base |
30 | */ | |
a3537838 | 31 | class AliFMDCalibPedestal : public TObject |
32 | { | |
33 | public: | |
9f662337 | 34 | /** CTOR */ |
a3537838 | 35 | AliFMDCalibPedestal(); |
9f662337 | 36 | /** DTOR */ |
a3537838 | 37 | ~AliFMDCalibPedestal() {} |
09b6c804 | 38 | /** |
39 | * Copy ctor | |
40 | * | |
41 | * @param o Object to copy from | |
42 | */ | |
a3537838 | 43 | AliFMDCalibPedestal(const AliFMDCalibPedestal& o); |
09b6c804 | 44 | /** |
45 | * Assignment | |
46 | * | |
47 | * @param o Object to assign from | |
48 | * @return Reference to this object | |
49 | */ | |
a3537838 | 50 | AliFMDCalibPedestal& operator=(const AliFMDCalibPedestal& o); |
09b6c804 | 51 | /** |
52 | * Set the values for a strip. | |
53 | * | |
54 | * @param det Detector | |
55 | * @param ring Ring | |
56 | * @param sec Sector | |
57 | * @param str Strip | |
58 | * @param ped Value of pedestal | |
59 | * @param pedW Width of pedestal | |
60 | */ | |
a3537838 | 61 | void Set(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, |
62 | Float_t ped, Float_t pedW); | |
09b6c804 | 63 | /** |
64 | * Get pedestal for a strip. | |
65 | * | |
66 | * @param det Detector | |
67 | * @param ring Ring | |
68 | * @param sec Sector | |
69 | * @param str Strip | |
70 | * @return Pedestal for strip | |
71 | */ | |
a3537838 | 72 | Float_t Value(UShort_t det, Char_t ring, UShort_t sec, UShort_t str); |
9f662337 | 73 | /** Get pedestal width for a strip. |
74 | @param det Detector | |
75 | @param ring Ring | |
76 | @param sec Sector | |
77 | @param str Strip | |
9f662337 | 78 | @return Pedestal width for strip */ |
a3537838 | 79 | Float_t Width(UShort_t det, Char_t ring, UShort_t sec, UShort_t str); |
e064ab4a | 80 | |
81 | /** | |
09b6c804 | 82 | * Read information from file and set values |
83 | * | |
84 | * @param inFile inputFile | |
e064ab4a | 85 | */ |
86 | Bool_t ReadFromFile(std::istream & inFile); | |
f560b28c | 87 | /** |
88 | * Make a dead map based on the noise of the channels. If the noise | |
89 | * of a paraticular channel is larger than @a maxW, then the channel | |
90 | * is marked as dead. | |
91 | * | |
92 | * If the argument @a dead is non-null, then the map passed is | |
93 | * modified. That is, channels marked as dead in the map will | |
94 | * remain marked. Channels that meat the criterion (noise larger | |
95 | * than @a maxW) will in addition be marked as dead. | |
96 | * | |
97 | * If the argument @a dead is null, then a new map is created and a | |
98 | * pointer to this will be returned. | |
99 | * | |
100 | * @param maxW Maximum value of noise for a channel before it is | |
101 | * marked as dead. | |
102 | * @param dead If non-null, then modify this map. | |
103 | * | |
104 | * @return A pointer to possibly newly allocated dead map. | |
105 | */ | |
106 | AliFMDBoolMap* MakeDeadMap(Float_t maxW, AliFMDBoolMap* dead=0) const; | |
045a97a7 | 107 | |
108 | const AliFMDFloatMap& Values() const { return fValue; } | |
109 | const AliFMDFloatMap& Widths() const { return fWidth; } | |
a3537838 | 110 | private: |
9f662337 | 111 | AliFMDFloatMap fValue; /** Pedestal */ |
112 | AliFMDFloatMap fWidth; /** Pedestal width */ | |
a3537838 | 113 | ClassDef(AliFMDCalibPedestal, 1) // Pedestal data for the FMD |
114 | }; | |
115 | ||
116 | ||
117 | #endif | |
118 | //____________________________________________________________________ | |
119 | // | |
120 | // Local Variables: | |
121 | // mode: C++ | |
122 | // End: | |
123 | // | |
124 | ||
125 |