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