]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveDet/AliEveTRDModule.h
Move contents of EVE/Alieve to EVE/EveDet as most code will remain there.
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTRDModule.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 *
51346b82 7 * full copyright notice. *
d810d0de 8 **************************************************************************/
a282bf09 9#ifndef ALIEVE_TRDModule_H
10#define ALIEVE_TRDModule_H
11
12/////////////////////////////////////////////////////////////////////////
13//
14// - AliEVE implementation -
15// The common structure of a TRD module (SM, Stack or Chamber)
d810d0de 16// - AliEveTRDModule - structure of TRD module for visualisation
17// - AliEveTRDModuleEditor - UI
a282bf09 18//
19// by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
20///////////////////////////////////////////////////////////////////////
21
22#ifndef ROOT_TNamed
23#include <TNamed.h>
24#endif
25
26#ifndef ROOT_TGedFrame
27#include <TGedFrame.h>
28#endif
29
30class TObject;
31class TGWindow;
32class TGCheckButton;
33class TGNumberEntry;
34class TGColorSelect;
35
a282bf09 36
d810d0de 37 class AliEveTRDModule : public TNamed
a282bf09 38 {
d810d0de 39 friend class AliEveTRDModuleEditor;
40 friend class AliEveTRDNode;
41 friend class AliEveTRDChamber;
a282bf09 42 public:
d810d0de 43 AliEveTRDModule(const char *typ="XXX", Int_t id=0);
44 virtual ~AliEveTRDModule() {}
51346b82 45
14217b5f 46 virtual Bool_t GetDigitsBox(){return fDigitsBox;}
47 virtual Bool_t GetDigitsLog(){return fDigitsLog;}
48 virtual UShort_t GetDigitsThreshold(){return fDigitsThreshold;}
a282bf09 49 virtual Int_t GetID(){return fDet;}
50 virtual void Paint(Option_t* option="")=0;
51 virtual void Reset()=0;
52
53 protected:
54 // UI section
55 Bool_t fLoadHits, fRnrHits;
56 Bool_t fLoadDigits, fRnrDigits, fDigitsLog, fDigitsBox;
57 Bool_t kDigitsNeedRecompute;
58
59 Bool_t fLoadRecPoints, fRnrRecPoints;
60 Bool_t fLoadTracklets, fRnrTracklets;
51346b82 61
a282bf09 62 Int_t fDet; // detector number
63 UShort_t fDigitsThreshold; // digits threshold
d810d0de 64 ClassDef(AliEveTRDModule,1) // Structure holder for TRD chamber
a282bf09 65 };
51346b82 66
a282bf09 67
d810d0de 68 class AliEveTRDModuleEditor : public TGedFrame
a282bf09 69 {
70 public:
d810d0de 71 AliEveTRDModuleEditor(const TGWindow* p=0, Int_t width = 170, Int_t height = 30, UInt_t options = kChildFrame, Pixel_t back = GetDefaultFrameBackground());
72 ~AliEveTRDModuleEditor();
a282bf09 73
74 virtual void SetModel(TObject* obj);
75
76 void ModifyDigitsView();
77 void SetThreshold(Long_t thres);
78 void UpdateChamber();
79 void UpdateClusters(Pixel_t);
80 void UpdateHits(Pixel_t);
51346b82 81
a282bf09 82 protected:
d810d0de 83 AliEveTRDModule* fM;
a282bf09 84
85 private:
86 TGCheckButton *fDisplayHits;
87 TGColorSelect *fHitsColor;
88 TGCheckButton *fDisplayDigits, *fToggleLog, *fToggleBox, *fThreshold;
89 TGNumberEntry *fThresValue;
90 TGCheckButton *fDisplayClusters;
91 TGColorSelect *fClustersColor;
92 TGCheckButton *fDisplayTracks;
51346b82 93
d810d0de 94 ClassDef(AliEveTRDModuleEditor,1) // Editor for AliEveTRDModule
a282bf09 95 };
a282bf09 96#endif