]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/ITSScaledModule.h
Runloader is updated when moving to next file (quick fix).
[u/mrichter/AliRoot.git] / EVE / Alieve / ITSScaledModule.h
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     
34   Int_t            GetScale() { return fScale; }
35   void             ScaleChanged(Int_t s); //*SIGNAL*
36
37   Int_t            GetStatType() { return fStatType; }
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
82   DigitScaleInfo* fScaleInfo;
83
84 public:
85   ITSScaledModule(Int_t gid, ITSDigitsInfo* info, DigitScaleInfo* si );
86   virtual ~ITSScaledModule();
87
88   virtual void QuadSelected(Int_t idx);
89
90   virtual void LoadQuads();
91   void         SetQuadValues();
92
93   DigitScaleInfo*  GetScaleInfo(){ return fScaleInfo; }
94
95   ClassDef(ITSScaledModule, 1);
96 }; // endclass ITSScaledModule
97
98 }
99
100 #endif