]>
Commit | Line | Data |
---|---|---|
3b868b75 | 1 | // $Header$ |
2 | ||
3 | #ifndef ALIEVE_ITSScaledModule_H | |
4 | #define ALIEVE_ITSScaledModule_H | |
5 | ||
84aff7a4 | 6 | #include <TEveUtil.h> |
3b868b75 | 7 | #include <Alieve/ITSModule.h> |
8 | ||
9 | #include <TQObject.h> | |
10 | ||
11 | namespace Alieve { | |
12 | ||
13 | /**************************************************************************/ | |
14 | // DigitScaleInfo | |
15 | /**************************************************************************/ | |
16 | ||
84aff7a4 | 17 | class DigitScaleInfo : public TQObject, public TEveRefBackPtr |
3b868b75 | 18 | { |
19 | public: | |
20 | enum StatType_e { ST_Occup, ST_Average, ST_Rms }; | |
3b868b75 | 21 | |
32e219c2 | 22 | // Bool_t fAutoUpdatePalette; |
3b868b75 | 23 | private: |
24 | DigitScaleInfo(const DigitScaleInfo&); // Not implemented | |
25 | DigitScaleInfo& operator=(const DigitScaleInfo&); // Not implemented | |
26 | ||
32e219c2 | 27 | protected: |
28 | Int_t fScale; | |
29 | Int_t fStatType; | |
30 | ||
31 | Bool_t fSyncPalette; | |
32 | ||
3b868b75 | 33 | public: |
34 | DigitScaleInfo(); | |
35 | virtual ~DigitScaleInfo(){} | |
36 | ||
03dfc4a7 | 37 | Int_t GetScale() { return fScale; } |
32e219c2 | 38 | void ScaleChanged(Int_t s); |
3b868b75 | 39 | |
03dfc4a7 | 40 | Int_t GetStatType() { return fStatType; } |
32e219c2 | 41 | void StatTypeChanged(Int_t t); |
42 | ||
43 | Bool_t GetSyncPalette(){return fSyncPalette;} | |
44 | void SetSyncPalette(Bool_t x){fSyncPalette = x;} | |
3b868b75 | 45 | |
46 | ClassDef(DigitScaleInfo, 1); | |
47 | }; | |
48 | ||
49 | /**************************************************************************/ | |
50 | // ScaledDigit | |
51 | /**************************************************************************/ | |
52 | ||
53 | class ScaledDigit : public TObject | |
54 | { | |
55 | public: | |
56 | Int_t N; | |
57 | Float_t sum; | |
58 | Float_t sqr_sum; | |
59 | Int_t min_i,min_j; | |
60 | Int_t max_i,max_j; | |
61 | ||
62 | ScaledDigit(); | |
63 | ScaledDigit(Int_t di, Int_t dj); | |
64 | ||
65 | virtual void Dump() const; | |
66 | }; | |
67 | ||
68 | /**************************************************************************/ | |
69 | // ITSScaledModule | |
70 | /**************************************************************************/ | |
71 | ||
72 | class ITSScaledModule : public ITSModule | |
73 | { | |
74 | friend class ITSSDSubEditor; | |
75 | private: | |
76 | map<Int_t, ScaledDigit> fDigitsMap; | |
77 | ||
78 | ITSScaledModule(const ITSScaledModule&); // Not implemented | |
79 | ITSScaledModule& operator=(const ITSScaledModule&); // Not implemented | |
80 | ||
81 | protected: | |
82 | Int_t fNx; // per module | |
83 | Int_t fNz; | |
84 | ||
85 | Int_t fNCx; // per cell | |
86 | Int_t fNCz; | |
87 | ||
03dfc4a7 | 88 | DigitScaleInfo* fScaleInfo; |
89 | ||
3b868b75 | 90 | public: |
03dfc4a7 | 91 | ITSScaledModule(Int_t gid, ITSDigitsInfo* info, DigitScaleInfo* si ); |
3b868b75 | 92 | virtual ~ITSScaledModule(); |
93 | ||
32e219c2 | 94 | virtual void DigitSelected(Int_t idx); |
3b868b75 | 95 | |
96 | virtual void LoadQuads(); | |
97 | void SetQuadValues(); | |
98 | ||
32e219c2 | 99 | void SyncPalette(); |
100 | ||
101 | void GetScaleData(Int_t& cnx, Int_t& cnz, Int_t& total); | |
03dfc4a7 | 102 | DigitScaleInfo* GetScaleInfo(){ return fScaleInfo; } |
3b868b75 | 103 | |
104 | ClassDef(ITSScaledModule, 1); | |
105 | }; // endclass ITSScaledModule | |
106 | ||
107 | } | |
108 | ||
109 | #endif |