Fix to avoid deleting cached CDB objects - modified fix by Peter.
[u/mrichter/AliRoot.git] / FMD / AliFMDCalibSampleRate.h
1 #ifndef ALIFMDCALIBSAMPLERATE_H
2 #define ALIFMDCALIBSAMPLERATE_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 //____________________________________________________________________
9 //                                                                          
10 // This class stores the sample rate (that is, how many times the
11 // ATLRO's sample each VA1 channel).  In principle these can be
12 // controlled per half ring, but in real life it's most likely that
13 // this value will be the same for all detectors.  This value must be
14 // retrived from DCS or the like. 
15 //
16 /** @file    AliFMDCalibSampleRate.h
17     @author  Christian Holm Christensen <cholm@nbi.dk>
18     @date    Sun Mar 26 18:32:14 2006
19     @brief   Per digitizer card pulser calibration
20     @ingroup FMD_base    
21 */
22
23 #include <iosfwd>
24 #ifndef ROOT_TObject
25 # include <TObject.h>
26 #endif
27 #ifndef ALIFMDUSHORTMAP_H
28 # include "AliFMDUShortMap.h"
29 #endif
30 #ifndef ROOT_TArrayI
31 # include <TArrayI.h>
32 #endif
33 //____________________________________________________________________
34 /** @brief Per digitizer card pulser calibration
35     @ingroup FMD_base
36 */
37 class AliFMDCalibSampleRate : public TObject
38 {
39 public:
40   /** CTOR */
41   AliFMDCalibSampleRate();
42   /** 
43    * Copy CTOR
44    *
45    * @param o Object to copy from  
46    */
47   AliFMDCalibSampleRate(const AliFMDCalibSampleRate& o);
48   /** 
49    * Assignment operator 
50    *
51    * @param o Object to assign from 
52    *
53    * @return Reference to this object 
54    */
55   AliFMDCalibSampleRate& operator=(const AliFMDCalibSampleRate& o);
56   /** 
57    * Set sample for a sector
58    *
59    * @param det   Detector #
60    * @param ring  Ring ID 
61    * @param sec   Sector # 
62    * @param str   Strip number (not used)
63    * @param rate  Sample rate 
64    */
65   void Set(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, 
66            UShort_t rate);
67   /** 
68    * Get sample rate for a sector
69    *
70    * @param det  Detector #
71    * @param ring Ring ID 
72    * @param sec  Sector # 
73    * @param str  Strip number (not used)
74    *
75    * @return Sample rate 
76    */
77   UShort_t Rate(UShort_t det, Char_t ring, UShort_t sec, UShort_t str=0) const;
78   /** 
79    * Write stored samplerates to file
80    *
81    * @param outFile Output file stream
82    */
83   void WriteToFile(std::ostream & outFile, Bool_t* detectors=0);
84   /** 
85    * Read information from file and set sample rates
86    *
87    * @param inFile input file stream
88    */
89   void ReadFromFile(std::istream & inFile);
90
91   const AliFMDUShortMap& Rates() const { return fRates; }
92 protected:
93   // TArrayI fRates; // Sample rates 
94   AliFMDUShortMap fRates; // Sample rates
95   ClassDef(AliFMDCalibSampleRate,2); // Sample rates 
96 };
97
98 #endif
99 //____________________________________________________________________
100 //
101 // Local Variables:
102 //   mode: C++
103 // End:
104 //
105
106