Moving the FMD offline trigger to its own class, AliFMDOfflineTrigger
[u/mrichter/AliRoot.git] / FMD / AliFMDCalibStripRange.h
1 #ifndef ALIFMDCALIBSTRIPRANGE_H
2 #define ALIFMDCALIBSTRIPRANGE_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 which strips are read-out.  
11 // In principle this can be set for each half-ring.   
12 // However, in real life, all the detectors will probably read out all
13 // strips, and dead areas can be handled off-line. 
14 // This information comes from DCS or the like.
15 //
16 /** @file    AliFMDCalibStripRange.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 #include <iosfwd>
23 #ifndef ROOT_TObject
24 # include <TObject.h>
25 #endif
26 #ifndef ALIFMDUSHORTMAP_H
27 # include "AliFMDUShortMap.h"
28 #endif
29 #ifndef ROOT_TArrayI
30 # include <TArrayI.h>
31 #endif
32
33 //____________________________________________________________________
34 /** @brief Per digitizer card pulser calibration
35     @ingroup FMD_base
36 */
37 class AliFMDCalibStripRange : public TObject
38 {
39 public:
40   /** CTOR */
41   AliFMDCalibStripRange();
42   /** Copy CTOR
43       @param o Object to copy from  */
44   AliFMDCalibStripRange(const AliFMDCalibStripRange& o);
45   /** Assignment operator 
46       @param o Object to assign from 
47       @return Reference to assign from  */
48   AliFMDCalibStripRange& operator=(const AliFMDCalibStripRange& o);
49   /** Set sample for a DDL
50       @param det   Detector #
51       @param ring  Ring ID 
52       @param sec   Sector # 
53       @param str   Strip number (not used)
54       @param min   Minimum strip (0-127)
55       @param max   Maximum strip (0-127) */
56   void Set(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, 
57            UShort_t min, UShort_t max);
58   /** Get minimum strip read out (0-127)
59       @param det  Detector #
60       @param ring Ring ID 
61       @param sec  Sector # 
62       @param str  Strip number (not used)
63       @return Minimum strip  */
64   UShort_t Min(UShort_t det, Char_t ring, UShort_t sec, UShort_t str=0) const;
65   /** Get maximum strip read out (0-127)
66       @param det  Detector #
67       @param ring Ring ID 
68       @param sec  Sector # 
69       @param str  Strip number (not used)
70       @return Maximum strip  */
71   UShort_t Max(UShort_t det, Char_t ring, UShort_t sec, UShort_t str=0) const;
72   /**
73      Dump stored strip ranges to file passed as ofstream
74      @param outFile Outputfile
75   */
76   void WriteToFile(std::ostream &, Bool_t* detectors=0);
77   /**
78      Read information from file and set values
79      @param inFile inputFile
80    */
81   void ReadFromFile(std::istream &);
82   
83 protected:
84   // TArrayI fRates; // Sample rates 
85   AliFMDUShortMap fRanges; // Min max 
86   ClassDef(AliFMDCalibStripRange,1); // Sample rates 
87 };
88
89 #endif
90 //____________________________________________________________________
91 //
92 // Local Variables:
93 //   mode: C++
94 // End:
95 //
96
97