2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
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 **************************************************************************/
10 #ifndef ALIEVE_ITSScaledModule_H
11 #define ALIEVE_ITSScaledModule_H
14 #include <EveDet/AliEveITSModule.h>
19 /******************************************************************************/
20 // AliEveDigitScaleInfo
21 /******************************************************************************/
23 class AliEveDigitScaleInfo : public TQObject, public TEveRefBackPtr
26 enum StatType_e { kST_Occup, kST_Average, kST_Rms };
28 // Bool_t fAutoUpdatePalette;
30 AliEveDigitScaleInfo(const AliEveDigitScaleInfo&); // Not implemented
31 AliEveDigitScaleInfo& operator=(const AliEveDigitScaleInfo&); // Not implemented
34 Int_t fScale; // Current scale.
35 Int_t fStatType; // Digit scaling algorithm, see StatType_e.
37 Bool_t fSyncPalette; // Synchronize palette on next usage.
40 AliEveDigitScaleInfo();
41 virtual ~AliEveDigitScaleInfo() {}
43 Int_t GetScale() const { return fScale; }
44 void ScaleChanged(Int_t s);
46 Int_t GetStatType() const { return fStatType; }
47 void StatTypeChanged(Int_t t);
49 Bool_t GetSyncPalette() const { return fSyncPalette; }
50 void SetSyncPalette(Bool_t x) { fSyncPalette = x; }
52 ClassDef(AliEveDigitScaleInfo, 1);
55 /******************************************************************************/
57 /******************************************************************************/
59 /******************************************************************************/
60 // AliEveITSScaledModule
61 /******************************************************************************/
63 class AliEveITSScaledModule : public AliEveITSModule
65 friend class ITSSDSubEditor;
68 struct ScaledDigit : public TObject
78 ScaledDigit(Int_t di, Int_t dj);
84 std::map<Int_t, ScaledDigit> fDigitsMap;
86 AliEveITSScaledModule(const AliEveITSScaledModule&); // Not implemented
87 AliEveITSScaledModule& operator=(const AliEveITSScaledModule&); // Not implemented
90 Int_t fNx; // per module
93 Int_t fNCx; // per cell
96 AliEveDigitScaleInfo* fScaleInfo;
99 AliEveITSScaledModule(Int_t gid, AliEveITSDigitsInfo* info, AliEveDigitScaleInfo* si );
100 virtual ~AliEveITSScaledModule();
102 virtual void DigitSelected(Int_t idx);
104 virtual void LoadQuads();
105 void SetQuadValues();
109 void GetScaleData(Int_t& cnx, Int_t& cnz, Int_t& total);
110 AliEveDigitScaleInfo* GetScaleInfo() { return fScaleInfo; }
112 ClassDef(AliEveITSScaledModule, 1); // Visualization of an ITS module with digits aggregated on a grid of pre-defined size.
113 }; // endclass AliEveITSScaledModule