]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Alieve/ITSScaledModule.h
Functionality of defunct AliMpManuList is now in AliMpDetElement, filled from DDLStor...
[u/mrichter/AliRoot.git] / EVE / Alieve / ITSScaledModule.h
CommitLineData
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
11namespace Alieve {
12
13/**************************************************************************/
14// DigitScaleInfo
15/**************************************************************************/
16
17class DigitScaleInfo : public TQObject, public Reve::ReferenceBackPtr
18{
19public:
20 enum StatType_e { ST_Occup, ST_Average, ST_Rms };
21
22 Int_t fScale;
23 Int_t fStatType;
24
25 Bool_t fAutoUpdatePalette;
26private:
27 DigitScaleInfo(const DigitScaleInfo&); // Not implemented
28 DigitScaleInfo& operator=(const DigitScaleInfo&); // Not implemented
29
30public:
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
47class ScaledDigit : public TObject
48{
49public:
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
66class ITSScaledModule : public ITSModule
67{
68 friend class ITSSDSubEditor;
69private:
70 map<Int_t, ScaledDigit> fDigitsMap;
71
72 ITSScaledModule(const ITSScaledModule&); // Not implemented
73 ITSScaledModule& operator=(const ITSScaledModule&); // Not implemented
74
75protected:
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 84public:
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