]>
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 * | |
51346b82 | 7 | * full copyright notice. * |
d810d0de | 8 | **************************************************************************/ |
3b868b75 | 9 | |
a15e6d7d | 10 | #ifndef AliEveITSScaledModule_H |
11 | #define AliEveITSScaledModule_H | |
3b868b75 | 12 | |
84aff7a4 | 13 | #include <TEveUtil.h> |
cb4245bb | 14 | #include <EveDet/AliEveITSModule.h> |
3b868b75 | 15 | |
16 | #include <TQObject.h> | |
17 | ||
3b868b75 | 18 | |
57ffa5fb | 19 | /******************************************************************************/ |
d810d0de | 20 | // AliEveDigitScaleInfo |
57ffa5fb | 21 | /******************************************************************************/ |
3b868b75 | 22 | |
d810d0de | 23 | class AliEveDigitScaleInfo : public TQObject, public TEveRefBackPtr |
3b868b75 | 24 | { |
25 | public: | |
a15e6d7d | 26 | enum StatType_e { kSTOccup, kSTAverage, kSTRms }; |
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: |
698e2c9b | 34 | Int_t fScale; // Current scale. |
35 | Int_t fStatType; // Digit scaling algorithm, see StatType_e. | |
51346b82 | 36 | |
698e2c9b | 37 | Bool_t fSyncPalette; // Synchronize palette on next usage. |
32e219c2 | 38 | |
3b868b75 | 39 | public: |
d810d0de | 40 | AliEveDigitScaleInfo(); |
698e2c9b | 41 | virtual ~AliEveDigitScaleInfo() {} |
51346b82 | 42 | |
698e2c9b | 43 | Int_t GetScale() const { return fScale; } |
44 | void ScaleChanged(Int_t s); | |
3b868b75 | 45 | |
698e2c9b | 46 | Int_t GetStatType() const { return fStatType; } |
47 | void StatTypeChanged(Int_t t); | |
32e219c2 | 48 | |
698e2c9b | 49 | Bool_t GetSyncPalette() const { return fSyncPalette; } |
50 | void SetSyncPalette(Bool_t x) { fSyncPalette = x; } | |
3b868b75 | 51 | |
d810d0de | 52 | ClassDef(AliEveDigitScaleInfo, 1); |
3b868b75 | 53 | }; |
54 | ||
57ffa5fb | 55 | /******************************************************************************/ |
3b868b75 | 56 | // ScaledDigit |
57ffa5fb | 57 | /******************************************************************************/ |
3b868b75 | 58 | |
57ffa5fb | 59 | /******************************************************************************/ |
d810d0de | 60 | // AliEveITSScaledModule |
57ffa5fb | 61 | /******************************************************************************/ |
3b868b75 | 62 | |
d810d0de | 63 | class AliEveITSScaledModule : public AliEveITSModule |
3b868b75 | 64 | { |
65 | friend class ITSSDSubEditor; | |
c76ea574 | 66 | |
67 | public: | |
a15e6d7d | 68 | struct ScaledDigit_t : public TObject |
c76ea574 | 69 | { |
70 | public: | |
a15e6d7d | 71 | Int_t fN; |
72 | Float_t fSum; | |
73 | Float_t fSqrSum; | |
74 | Int_t fMinI, fMinJ; | |
75 | Int_t fMaxI, fMaxJ; | |
c76ea574 | 76 | |
a15e6d7d | 77 | ScaledDigit_t(); |
78 | ScaledDigit_t(Int_t di, Int_t dj); | |
c76ea574 | 79 | |
80 | void Dump() const; | |
81 | }; | |
82 | ||
3b868b75 | 83 | private: |
a15e6d7d | 84 | std::map<Int_t, ScaledDigit_t> fDigitsMap; |
51346b82 | 85 | |
d810d0de | 86 | AliEveITSScaledModule(const AliEveITSScaledModule&); // Not implemented |
87 | AliEveITSScaledModule& operator=(const AliEveITSScaledModule&); // Not implemented | |
3b868b75 | 88 | |
89 | protected: | |
c76ea574 | 90 | Int_t fNx; // per module |
3b868b75 | 91 | Int_t fNz; |
92 | ||
93 | Int_t fNCx; // per cell | |
94 | Int_t fNCz; | |
95 | ||
d810d0de | 96 | AliEveDigitScaleInfo* fScaleInfo; |
03dfc4a7 | 97 | |
3b868b75 | 98 | public: |
d810d0de | 99 | AliEveITSScaledModule(Int_t gid, AliEveITSDigitsInfo* info, AliEveDigitScaleInfo* si ); |
100 | virtual ~AliEveITSScaledModule(); | |
3b868b75 | 101 | |
32e219c2 | 102 | virtual void DigitSelected(Int_t idx); |
3b868b75 | 103 | |
104 | virtual void LoadQuads(); | |
105 | void SetQuadValues(); | |
106 | ||
32e219c2 | 107 | void SyncPalette(); |
108 | ||
a15e6d7d | 109 | void GetScaleData(Int_t& cnx, Int_t& cnz, Int_t& total) const; |
c76ea574 | 110 | AliEveDigitScaleInfo* GetScaleInfo() { return fScaleInfo; } |
3b868b75 | 111 | |
698e2c9b | 112 | ClassDef(AliEveITSScaledModule, 1); // Visualization of an ITS module with digits aggregated on a grid of pre-defined size. |
d810d0de | 113 | }; // endclass AliEveITSScaledModule |
3b868b75 | 114 | |
115 | #endif |