]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Alieve/AliEveITSScaledModule.h
Put all classes in Alieve/ sub-module out of the Alieve namespace and
[u/mrichter/AliRoot.git] / EVE / Alieve / AliEveITSScaledModule.h
CommitLineData
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 23class AliEveDigitScaleInfo : public TQObject, public TEveRefBackPtr
3b868b75 24{
25public:
26 enum StatType_e { ST_Occup, ST_Average, ST_Rms };
3b868b75 27
32e219c2 28 // Bool_t fAutoUpdatePalette;
3b868b75 29private:
d810d0de 30 AliEveDigitScaleInfo(const AliEveDigitScaleInfo&); // Not implemented
31 AliEveDigitScaleInfo& operator=(const AliEveDigitScaleInfo&); // Not implemented
3b868b75 32
32e219c2 33protected:
34 Int_t fScale;
35 Int_t fStatType;
36
37 Bool_t fSyncPalette;
38
3b868b75 39public:
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
59class ScaledDigit : public TObject
60{
61public:
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 78class AliEveITSScaledModule : public AliEveITSModule
3b868b75 79{
80 friend class ITSSDSubEditor;
81private:
82 map<Int_t, ScaledDigit> fDigitsMap;
83
d810d0de 84 AliEveITSScaledModule(const AliEveITSScaledModule&); // Not implemented
85 AliEveITSScaledModule& operator=(const AliEveITSScaledModule&); // Not implemented
3b868b75 86
87protected:
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 96public:
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