Initialization of some data members. Copy constructor and assignment operators made...
[u/mrichter/AliRoot.git] / FMD / AliFMDBoolMap.h
1 #ifndef ALIFMDBOOLMAP_H
2 #define ALIFMDBOOLMAP_H
3 /* Copyright (c) 2004, ALICE Experiment @ CERN.
4  * All rights reserved
5  * See AliFMDBoolMap.cxx for full copyright notice
6  * 
7  * Created Mon Nov  8 12:51:51 2004 by Christian Holm Christensen
8  */
9 /* $Id$ */
10 //__________________________________________________________
11 // 
12 // Map of Bool_t for each FMD strip
13 // Used in calibration and the like classes.
14 // Used amoung other things for dead-channel map
15 // 
16 #ifndef ALIFMDMAP_H
17 # include <AliFMDMap.h>
18 #endif
19
20 /** @class AliFMDBoolMap 
21     @brief MAp of per strip boolean values. 
22     @ingroup FMD_base
23  */
24 class AliFMDBoolMap : public AliFMDMap
25 {
26 public:
27   /** Copy constructor 
28       @param other Object to copy from. */
29   AliFMDBoolMap(const AliFMDBoolMap& other);
30   /** Constructor 
31       @param maxDet  Number of detectors (3)
32       @param maxRing Number of rings (2)
33       @param maxSec  Number of sectors (40)
34       @param maxStr  Number of strips (20) */
35   AliFMDBoolMap(size_t maxDet  = kMaxDetectors,
36                 size_t maxRing = kMaxRings,
37                 size_t maxSec  = kMaxSectors,
38                 size_t maxStr  = kMaxStrips);
39   /** Destructor */
40   virtual ~AliFMDBoolMap() { delete [] fData; }
41   /** Assignment operator 
42       @param other Object to assign from 
43       @return reference to this object.  */
44   AliFMDBoolMap& operator=(const AliFMDBoolMap& other);
45   /** Reset to value 
46       @param v Value to reset from */
47   virtual void Reset(const Bool_t& v=Bool_t());
48   /** Access operator 
49       @param det   Detector 
50       @param ring  Ring 
51       @param sec   Sector  
52       @param str   Strip
53       @return  reference value stored for the strip */
54   virtual Bool_t& operator()(UShort_t det,
55                              Char_t   ring,
56                              UShort_t sec,
57                              UShort_t str);
58   /** Access operator 
59       @param det   Detector 
60       @param ring  Ring 
61       @param sec   Sector  
62       @param str   Strip
63       @return  value stored for the strip */
64   virtual const Bool_t& operator()(UShort_t det,
65                                    Char_t   ring,
66                                    UShort_t sec,
67                                    UShort_t str) const;
68 protected:
69   size_t  fTotal; // Total number of entries 
70   Bool_t* fData;  // [fTotal] The Data
71   ClassDef(AliFMDBoolMap,2) // Map of Bool_t data per strip
72 };
73
74 #endif
75 //__________________________________________________________
76 // 
77 // Local Variables:
78 //   mode: C++
79 // End:
80 //