| 1 | /* ======================================================================== *\
|
|---|
| 2 | ! $Name: not supported by cvs2svn $:$Id: MCameraTH.h,v 1.7 2007-02-01 15:56:17 tbretz Exp $
|
|---|
| 3 | \* ======================================================================== */
|
|---|
| 4 | #ifndef MARS_MCameraTH
|
|---|
| 5 | #define MARS_MCameraTH
|
|---|
| 6 |
|
|---|
| 7 | #ifndef MARS_MParContainer
|
|---|
| 8 | #include "MParContainer.h"
|
|---|
| 9 | #endif
|
|---|
| 10 | #ifndef MARS_MCamEvent
|
|---|
| 11 | #include "MCamEvent.h"
|
|---|
| 12 | #endif
|
|---|
| 13 |
|
|---|
| 14 | #ifndef ROOT_TArrayC
|
|---|
| 15 | #include <TArrayC.h>
|
|---|
| 16 | #endif
|
|---|
| 17 |
|
|---|
| 18 | class MCameraTH : public MParContainer, public MCamEvent
|
|---|
| 19 | {
|
|---|
| 20 | friend class MReportCC;
|
|---|
| 21 | private:
|
|---|
| 22 | TArrayC fTH; // [au] discriminator thresholds
|
|---|
| 23 | Bool_t fIsValid; // fTH contains valid information
|
|---|
| 24 |
|
|---|
| 25 | public:
|
|---|
| 26 | MCameraTH(Int_t size=577, const char *name=NULL, const char *title=NULL);
|
|---|
| 27 |
|
|---|
| 28 | Byte_t operator[](Int_t i) { return fTH[i]; }
|
|---|
| 29 |
|
|---|
| 30 | Byte_t GetMin() const;
|
|---|
| 31 | Byte_t GetMax() const;
|
|---|
| 32 |
|
|---|
| 33 | void Print(Option_t *opt=NULL) const;
|
|---|
| 34 |
|
|---|
| 35 | void Invalidate() { fTH.Reset(); fIsValid=kFALSE; }
|
|---|
| 36 |
|
|---|
| 37 | void SetValid(Bool_t v=kTRUE) { fIsValid=v; }
|
|---|
| 38 | Bool_t IsValid() const { return fIsValid; }
|
|---|
| 39 |
|
|---|
| 40 | Bool_t GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const
|
|---|
| 41 | {
|
|---|
| 42 | if (idx>=fTH.GetSize())
|
|---|
| 43 | return kFALSE;
|
|---|
| 44 |
|
|---|
| 45 | // FIXME: This is a stupid workaround to describe the trigger area
|
|---|
| 46 | // and only valid for the MAGIC-I camera!
|
|---|
| 47 | if (idx>=397 ||
|
|---|
| 48 | (idx>=339 && idx<=345) ||
|
|---|
| 49 | (idx>=279 && idx<=283) ||
|
|---|
| 50 | (idx>=331 && idx<=334) ||
|
|---|
| 51 | (idx>=394 && idx<=396) ||
|
|---|
| 52 | (idx>=271 && idx<=273) ||
|
|---|
| 53 | (idx>=329 && idx<=330) ||
|
|---|
| 54 | (idx>=383 && idx<=389) ||
|
|---|
| 55 | (idx>=319 && idx<=323) ||
|
|---|
| 56 | (idx>=289 && idx<=293) ||
|
|---|
| 57 | (idx>=350 && idx<=356) ||
|
|---|
| 58 | (idx>=299 && idx<=303) ||
|
|---|
| 59 | (idx>=361 && idx<=367) ||
|
|---|
| 60 | (idx>=309 && idx<=313) ||
|
|---|
| 61 | (idx>=372 && idx<=378))
|
|---|
| 62 | return kFALSE;
|
|---|
| 63 |
|
|---|
| 64 | val = fTH[idx];
|
|---|
| 65 | return val>0;
|
|---|
| 66 | }
|
|---|
| 67 | void DrawPixelContent(Int_t num) const
|
|---|
| 68 | {
|
|---|
| 69 | }
|
|---|
| 70 |
|
|---|
| 71 | ClassDef(MCameraTH, 2) // Storage Container for the discriminator thresholds
|
|---|
| 72 | };
|
|---|
| 73 |
|
|---|
| 74 | #endif
|
|---|