source: trunk/Mars/mbadpixels/MBadPixelsIntensityCam.h@ 17699

Last change on this file since 17699 was 8149, checked in by tbretz, 18 years ago
*** empty log message ***
File size: 3.8 KB
Line 
1#ifndef MARS_MBadPixelsIntensityCam
2#define MARS_MBadPixelsIntensityCam
3
4#ifndef MARS_MBadPixelsPix
5#include "MBadPixelsPix.h"
6#endif
7#ifndef MARS_MCamEvent
8#include "MCamEvent.h"
9#endif
10#ifndef MARS_MBadPixelsCam
11#include "MBadPixelsCam.h"
12#endif
13#ifndef MARS_MGeomCamMagic
14#include "MGeomCamMagic.h"
15#endif
16
17#ifndef ROOT_TOrdCollection
18#include <TOrdCollection.h>
19#endif
20
21class TGraph;
22class MHCamera;
23
24class MBadPixelsIntensityCam : public MParContainer, public MCamEvent
25{
26private:
27
28 TOrdCollection *fCams; //-> Array of MBadPixelsCams, one per pulse colour and intensity
29
30 void Add(const UInt_t from, const UInt_t to);
31
32public:
33
34 MBadPixelsIntensityCam(const char *name=NULL, const char *title=NULL);
35 ~MBadPixelsIntensityCam();
36
37 void Clear ( Option_t *o="" );
38 void Print ( Option_t *o="" ) const;
39 void Copy ( TObject& object) const;
40
41 void AddToList( const char* name, const MGeomCam &geom );
42
43 // Getters
44 Int_t GetSize() const;
45
46 MBadPixelsCam *GetCam ( Int_t i=-1);
47 const MBadPixelsCam *GetCam ( Int_t i=-1) const;
48 /*
49 MBadPixelsCam *GetCam ( const char *name );
50 const MBadPixelsCam *GetCam ( const char *name ) const;
51 */
52
53 // The "DeleteOldCam" function must not delete the first entry in
54 // the array because it is a special cam from the MParList. (see above)
55 void DeleteOldCam(MBadPixelsCam *cam) {/* if (fCams->IndexOf(cam)>0) delete fCams->Remove(cam);*/ }
56
57 MBadPixelsPix &operator[] ( Int_t i );
58 const MBadPixelsPix &operator[] ( Int_t i ) const;
59
60 Short_t GetNumUnsuitable(MBadPixelsPix::UnsuitableType_t type,const MGeomCam *geom,Int_t aidx=-1)
61 const { return GetCam()->GetNumUnsuitable(type,geom,aidx); }
62 Short_t GetNumUnsuitable(MBadPixelsPix::UnsuitableType_t type)
63 const { return GetCam()->GetNumUnsuitable(type); }
64 Short_t GetNumIsolated(MBadPixelsPix::UnsuitableType_t type,const MGeomCam &geom,Int_t aidx=-1)
65 const { return GetCam()->GetNumIsolated(type,geom,aidx); }
66 Short_t GetNumIsolated(const MGeomCam &geom,Int_t aidx=-1)
67 const { return GetCam()->GetNumIsolated(geom, aidx); }
68 Short_t GetNumMaxCluster(MBadPixelsPix::UnsuitableType_t type,const MGeomCam &geom,Int_t aidx=-1)
69 const { return GetCam()->GetNumMaxCluster(type,geom,aidx); }
70 Short_t GetNumMaxCluster(const MGeomCam &geom,Int_t aidx=-1)
71 { return GetCam()->GetNumMaxCluster(geom, aidx); }
72
73 void AsciiRead(istream &fin) { GetCam()->AsciiRead(fin); }
74 Bool_t AsciiWrite(ostream &out) const { return GetCam()->AsciiWrite(out); }
75
76 // Inits
77 void Init ( const MGeomCam &geom );
78 void InitSize( const UInt_t i );
79
80 Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam,Int_t type=0) const;
81 void DrawPixelContent( Int_t num) const;
82
83 TGraph *GetUncalibratedPerAreaVsTime( const MBadPixelsPix::UncalibratedType_t typ,
84 const Int_t aidx=-1, const MGeomCam &geom=MGeomCamMagic());
85 TGraph *GetUnsuitablePerAreaVsTime( const MBadPixelsPix::UnsuitableType_t typ,
86 const Int_t aidx=-1, const MGeomCam &geom=MGeomCamMagic());
87
88 MHCamera *GetUnsuitableSpectrum( const MBadPixelsPix::UnsuitableType_t typ, const MGeomCam &geom=MGeomCamMagic());
89
90 MHCamera *GetUncalibratedSpectrum( const MBadPixelsPix::UncalibratedType_t typ, const MGeomCam &geom=MGeomCamMagic());
91
92 void DrawUncalibratedPerAreaVsTime( const MBadPixelsPix::UncalibratedType_t typ,
93 const Int_t aidx=-1, const MGeomCam &geom=MGeomCamMagic()); // *MENU*
94 void DrawUnsuitablePerAreaVsTime( const MBadPixelsPix::UnsuitableType_t typ,
95 const Int_t aidx=-1, const MGeomCam &geom=MGeomCamMagic()); // *MENU*
96
97
98
99 ClassDef(MBadPixelsIntensityCam, 1) // Base Container Intensity BadPixels Results
100};
101
102#endif
Note: See TracBrowser for help on using the repository browser.