source: trunk/MagicSoft/Mars/mcalib/MCalibrationCam.h@ 3803

Last change on this file since 3803 was 3698, checked in by gaug, 21 years ago
*** empty log message ***
File size: 3.3 KB
Line 
1#ifndef MARS_MCalibrationCam
2#define MARS_MCalibrationCam
3
4#ifndef MARS_MParContainer
5#include "MParContainer.h"
6#endif
7#ifndef MARS_MCamEvent
8#include "MCamEvent.h"
9#endif
10
11class TClonesArray;
12
13class MCalibrationPix;
14class MBadPixelsPix;
15class MBadPixelsCam;
16class MGeomCam;
17
18class MCalibrationCam : public MParContainer, public MCamEvent
19{
20public:
21
22 enum PulserColor_t { kCT1=0, kGREEN=1, kBLUE=2, kUV=3, kNONE=4 }; // Possible Pulser colours
23 static const Int_t gkNumPulserColors; // Number of Pulser colours (now set to: 4)
24
25protected:
26
27 Float_t fNumHiGainFADCSlices; // Number High-Gain FADC slices used by extractor
28 Float_t fNumLoGainFADCSlices; // Number Low -Gain FADC slices used by extractor
29
30 PulserColor_t fPulserColor; // Colour of the pulsed LEDs
31
32 TClonesArray *fPixels; //-> Array of MCalibrationPix, one per pixel
33 TClonesArray *fAverageAreas; //-> Array of MCalibrationPix, one per pixel area
34 TClonesArray *fAverageSectors; //-> Array of MCalibrationPix, one per camera sector
35 TClonesArray *fAverageBadAreas; //-> Array of MBadPixelsPix, one per pixel area
36 TClonesArray *fAverageBadSectors; //-> Array of MBadPixelsPix, one per camera sector
37
38public:
39
40 MCalibrationCam(const char *name=NULL, const char *title=NULL);
41 ~MCalibrationCam();
42
43 virtual void Clear ( Option_t *o="");
44 virtual void DrawPixelContent( Int_t num) const;
45
46 // Getters
47 const Int_t GetAverageAreas () const;
48 MCalibrationPix &GetAverageArea ( UInt_t i );
49 const MCalibrationPix &GetAverageArea ( UInt_t i ) const;
50 MBadPixelsPix &GetAverageBadArea ( UInt_t i );
51 const MBadPixelsPix &GetAverageBadArea ( UInt_t i ) const;
52 MBadPixelsPix &GetAverageBadSector ( UInt_t i );
53 const MBadPixelsPix &GetAverageBadSector ( UInt_t i ) const;
54 MCalibrationPix &GetAverageSector ( UInt_t i );
55 const Int_t GetAverageSectors () const;
56 const MCalibrationPix &GetAverageSector ( UInt_t i ) const;
57 const Float_t GetNumHiGainFADCSlices() const { return fNumHiGainFADCSlices; }
58 const Float_t GetNumLoGainFADCSlices() const { return fNumLoGainFADCSlices; }
59 virtual Bool_t GetPixelContent ( Double_t &val, Int_t idx,
60 const MGeomCam &cam, Int_t type=0) const;
61 const PulserColor_t GetPulserColor() const { return fPulserColor; }
62 const Int_t GetSize() const;
63
64 MCalibrationPix &operator[] ( UInt_t i );
65 const MCalibrationPix &operator[] ( UInt_t i ) const;
66
67 // Inits
68 void Init ( const MGeomCam &geom );
69 void InitSize ( const UInt_t i );
70 void InitAverageAreas ( const UInt_t i );
71 void InitAverageSectors ( const UInt_t i );
72
73 // Setters
74 void SetNumHiGainFADCSlices ( const Float_t f ) { fNumHiGainFADCSlices = f; }
75 void SetNumLoGainFADCSlices ( const Float_t f ) { fNumLoGainFADCSlices = f; }
76 void SetPulserColor ( const PulserColor_t col=kCT1 ) { fPulserColor = col; }
77
78 ClassDef(MCalibrationCam, 1) // Base class Container for Calibration Results Camera
79};
80
81#endif
Note: See TracBrowser for help on using the repository browser.