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