]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Alieve/ITSModuleStepper.h
From Annalisa: changes for the new TOF geometry classes.
[u/mrichter/AliRoot.git] / EVE / Alieve / ITSModuleStepper.h
CommitLineData
82b3616d 1// $Header$
2
3#ifndef ALIEVE_ITSModuleStepper_H
4#define ALIEVE_ITSModuleStepper_H
5
09edeb17 6#include <TNamed.h>
7#include <TAtt3D.h>
8#include <TAttBBox.h>
9
82b3616d 10#include <Reve/RenderElement.h>
11#include <Reve/GridStepper.h>
64c42545 12#include <Reve/ZTrans.h>
82b3616d 13
14#include <vector>
15
16namespace Alieve {
17
18class ITSDigitsInfo;
03dfc4a7 19class DigitScaleInfo;
82b3616d 20
09edeb17 21class ITSModuleStepper : public Reve::RenderElement,
22 public TNamed,
23 public TAtt3D,
24 public TAttBBox
82b3616d 25{
09edeb17 26 friend class ITSModuleStepperGL;
27
82b3616d 28public:
09edeb17 29 typedef std::vector<UInt_t> vpInt_t;
30 typedef std::vector<UInt_t>::iterator vpInt_i;
d7e36bcf 31
64c42545 32 enum PositionType_e { PT_BottomLeft, PT_BottomRight, PT_TopLeft, PT_TopRight };
33
82b3616d 34private:
35 ITSModuleStepper(const ITSModuleStepper&); // Not implemented
36 ITSModuleStepper& operator=(const ITSModuleStepper&); // Not implemented
37
38protected:
39 ITSDigitsInfo* fDigitsInfo;
03dfc4a7 40 DigitScaleInfo* fScaleInfo;
41
82b3616d 42 Reve::GridStepper* fStepper;
d7e36bcf 43
44 Float_t fExpand;
45
82b3616d 46 vpInt_t fIDs;
09edeb17 47 UInt_t fPosition;
82b3616d 48
64c42545 49 Reve::ZTrans fHMTrans;
50
51 Bool_t fRnrFrame;
52 PositionType_e fWCorner;
53 Color_t fWColor;
54 Float_t fWWidth;
55 Float_t fWHeight;
56
82b3616d 57 void Apply();
09edeb17 58 Int_t Nxy(){ return fStepper->Nx*fStepper->Ny; }
59
60 void SetFirst(Int_t first);
82b3616d 61
62public:
63 ITSModuleStepper(ITSDigitsInfo* di);
64 virtual ~ITSModuleStepper();
65
66 void Start();
67 void Next();
09edeb17 68 void Previous();
69 void End();
70
82b3616d 71 void SetStepper(Int_t nx, Int_t ny, Float_t dx = -1, Float_t dy = -1);
09edeb17 72 Reve::GridStepper* GetStepper(){ return fStepper; }
82b3616d 73
74 void AddToList( Int_t modID ){ fIDs.push_back(modID);}
75 void ResetList(){ fIDs.clear();}
76
64c42545 77 void DisplayDet(Int_t det, Int_t layer = -1);
09edeb17 78 void DisplayTheta(Float_t min, Float_t max);
79
80 Int_t GetCurrentPage();
81 Int_t GetPages();
82
64c42545 83 virtual Bool_t CanEditMainColor() { return kTRUE; }
09edeb17 84
64c42545 85 Bool_t GetRnrFrame(){ return fRnrFrame; }
86 void SetRnrFrame(Bool_t rnr){ fRnrFrame = rnr; }
87 Color_t GetWColor(){ return fWColor; };
88 void SetWColor(Color_t c){ fWColor=c; }
09edeb17 89
64c42545 90 virtual Reve::ZTrans* PtrMainHMTrans() { return &fHMTrans; }
09edeb17 91
64c42545 92 virtual void ComputeBBox();
93
94 virtual void Paint(Option_t* option = "");
09edeb17 95
82b3616d 96 ClassDef(ITSModuleStepper, 0);
d7e36bcf 97};
82b3616d 98
99} // Alieve namespace
100
101#endif