]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDCalibStripRange.h
Simple scripts to run various steps.
[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 #ifndef FSTREAM
23 # include <fstream>
24 #endif
25 #ifndef ROOT_TObject
26 # include <TObject.h>
27 #endif
28 #ifndef ALIFMDUSHORTMAP_H
29 # include "AliFMDUShortMap.h"
30 #endif
31 #ifndef ROOT_TArrayI
32 # include <TArrayI.h>
33 #endif
34
35 //____________________________________________________________________
36 /** @brief Per digitizer card pulser calibration
37     @ingroup FMD_base
38 */
39 class AliFMDCalibStripRange : public TObject
40 {
41 public:
42   /** CTOR */
43   AliFMDCalibStripRange();
44   /** Copy CTOR
45       @param o Object to copy from  */
46   AliFMDCalibStripRange(const AliFMDCalibStripRange& o);
47   /** Assignment operator 
48       @param o Object to assign from 
49       @return Reference to assign from  */
50   AliFMDCalibStripRange& operator=(const AliFMDCalibStripRange& o);
51   /** Set sample for a DDL
52       @param det   Detector #
53       @param ring  Ring ID 
54       @param sec   Sector # 
55       @param str   Strip number (not used)
56       @param min   Minimum strip (0-127)
57       @param max   Maximum strip (0-127) */
58   void Set(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, 
59            UShort_t min, UShort_t max);
60   /** Get minimum strip read out (0-127)
61       @param det  Detector #
62       @param ring Ring ID 
63       @param sec  Sector # 
64       @param str  Strip number (not used)
65       @return Minimum strip  */
66   UShort_t Min(UShort_t det, Char_t ring, UShort_t sec, UShort_t str=0) const;
67   /** Get maximum strip read out (0-127)
68       @param det  Detector #
69       @param ring Ring ID 
70       @param sec  Sector # 
71       @param str  Strip number (not used)
72       @return Maximum strip  */
73   UShort_t Max(UShort_t det, Char_t ring, UShort_t sec, UShort_t str=0) const;
74   /**
75      Dump stored strip ranges to file passed as ofstream
76      @param outFile Outputfile
77   */
78   void WriteToFile(ofstream &);
79   /**
80      Read information from file and set values
81      @param inFile inputFile
82    */
83   void ReadFromFile(ifstream &);
84   
85 protected:
86   // TArrayI fRates; // Sample rates 
87   AliFMDUShortMap fRanges; // Min max 
88   ClassDef(AliFMDCalibStripRange,1); // Sample rates 
89 };
90
91 #endif
92 //____________________________________________________________________
93 //
94 // Local Variables:
95 //   mode: C++
96 // End:
97 //
98
99