Changes in configuration
[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 **************************************************************************/
fd31e9de 9
a15e6d7d 10#ifndef AliEveTRDModule_H
11#define AliEveTRDModule_H
a282bf09 12
13/////////////////////////////////////////////////////////////////////////
14//
15// - AliEVE implementation -
16// The common structure of a TRD module (SM, Stack or Chamber)
d810d0de 17// - AliEveTRDModule - structure of TRD module for visualisation
18// - AliEveTRDModuleEditor - UI
a282bf09 19//
20// by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
21///////////////////////////////////////////////////////////////////////
22
a282bf09 23#include <TNamed.h>
a282bf09 24#include <TGedFrame.h>
a282bf09 25
26class TObject;
27class TGWindow;
28class TGCheckButton;
29class TGNumberEntry;
30class TGColorSelect;
31
a282bf09 32
fd31e9de 33class AliEveTRDModule : public TNamed
34{
35 friend class AliEveTRDModuleEditor;
36 friend class AliEveTRDNode;
37 friend class AliEveTRDChamber;
38
39private:
40 AliEveTRDModule(const AliEveTRDModule&); // Not implemented
41 AliEveTRDModule& operator=(const AliEveTRDModule&); // Not implemented
42
43public:
44 AliEveTRDModule(const char *typ="XXX", Int_t id=0);
45 virtual ~AliEveTRDModule() {}
46
a15e6d7d 47 virtual Bool_t GetDigitsBox() const {return fDigitsBox;}
48 virtual Bool_t GetDigitsLog() const {return fDigitsLog;}
49 virtual UShort_t GetDigitsThreshold() const {return fDigitsThreshold;}
50 virtual Int_t GetID() const {return fDet;}
fd31e9de 51 virtual void Paint(Option_t* option="")=0;
52 virtual void Reset()=0;
53
54protected:
55 // UI section
a15e6d7d 56 Bool_t fLoadHits, fRnrHits, fLoadDigits; // What to load.
57 Bool_t fRnrDigits, fDigitsLog, fDigitsBox; // What to show.
58 Bool_t fDigitsNeedRecompute; // Need to recompute digits.
fd31e9de 59
a15e6d7d 60 Bool_t fLoadRecPoints, fRnrRecPoints; // What to do with recpoints.
61 Bool_t fLoadTracklets, fRnrTracklets; // What to do with tracklets.
fd31e9de 62
63 Int_t fDet; // detector number
64 UShort_t fDigitsThreshold; // digits threshold
65
a15e6d7d 66 ClassDef(AliEveTRDModule,1); // Structure holder for TRD chamber.
fd31e9de 67};
68
69
70class AliEveTRDModuleEditor : public TGedFrame
71{
72private:
73 AliEveTRDModuleEditor(const AliEveTRDModuleEditor&); // Not implemented
74 AliEveTRDModuleEditor& operator=(const AliEveTRDModuleEditor&); // Not implemented
75
76public:
77 AliEveTRDModuleEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
78 UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
a15e6d7d 79 virtual ~AliEveTRDModuleEditor() {}
fd31e9de 80
81 virtual void SetModel(TObject* obj);
82
83 void ModifyDigitsView();
84 void SetThreshold(Long_t thres);
85 void UpdateChamber();
86 void UpdateClusters(Pixel_t);
87 void UpdateHits(Pixel_t);
88
89protected:
a15e6d7d 90 AliEveTRDModule* fM; // Model object.
fd31e9de 91
92private:
a15e6d7d 93 TGCheckButton *fDisplayHits; // Hit control.
94 TGColorSelect *fHitsColor; // Hit color.
95 TGCheckButton *fDisplayDigits, *fToggleLog, *fToggleBox, *fThreshold; // Display toggles.
96 TGNumberEntry *fThresValue; // Threshold weed.
97 TGCheckButton *fDisplayClusters; // Cluster control.
98 TGColorSelect *fClustersColor; // Cluster color.
99 TGCheckButton *fDisplayTracks; // Track control.
100
101 ClassDef(AliEveTRDModuleEditor,1); // Editor for AliEveTRDModule.
fd31e9de 102};
103
a282bf09 104#endif