]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALITPCMONITORCONFIG_H | |
2 | #define ALITPCMONITORCONFIG_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | ////////////////////////////////////////////////////////////////////////// | |
10 | //// | |
11 | //// AliTPCMonitorConfig class | |
12 | //// | |
13 | //// Configuration handler class for AliTPCMonitor. | |
14 | //// The class reads and stores basic configurations | |
15 | //// for the AliTPCMonitor class. The values can be changed | |
16 | //// online or written to the configuration file AliTPCMonitorConfig.txt | |
17 | //// | |
18 | //// Author: Stefan Kniege, IKF, Frankfurt | |
19 | //// | |
20 | //// | |
21 | ///////////////////////////////////////////////////////////////////////// | |
22 | ||
23 | #include <TNamed.h> | |
24 | #include <TString.h> | |
25 | ||
26 | class AliTPCMonitorConfig: public TNamed | |
27 | { | |
28 | public : | |
29 | ||
30 | AliTPCMonitorConfig(const Char_t* name,const Char_t* title); | |
31 | AliTPCMonitorConfig(const AliTPCMonitorConfig &config); | |
32 | AliTPCMonitorConfig& operator= (const AliTPCMonitorConfig& config); | |
33 | virtual ~AliTPCMonitorConfig(); | |
34 | ||
35 | Float_t GetButtonXSize() const { return fButtonXSize;} | |
36 | Float_t GetButtonYSize() const { return fButtonYSize;} | |
37 | Float_t GetButtonXFirst1() const { return fButtonFirstX1;} | |
38 | Float_t GetButtonXFirst2() const { return fButtonFirstX2;} | |
39 | Float_t GetButtonYFirst() const { return fButtonFirstY;} | |
40 | Int_t GetMainXSize() const { return fMainXSize;} | |
41 | Int_t GetMainYSize() const { return fMainYSize;} | |
42 | Int_t GetBorderXSize() const { return fBorderXSize;} | |
43 | Int_t GetBorderYSize() const { return fBorderYSize;} | |
44 | Int_t GetCanvasXOffset() const { return fCanvasXOffset;} | |
45 | Int_t GetCanvasXSize() const { return fCanvasXSize;} | |
46 | Int_t GetCanvasYSize() const { return fCanvasYSize;} | |
47 | Int_t GetCanvasXSpace() const { return fCanvasXSpace;} | |
48 | Int_t GetCanvasYSpace() const { return fCanvasYSpace;} | |
49 | ||
50 | const Float_t* GetComponentSelection() const { return fComponents;} | |
51 | ||
52 | Int_t GetEventProcessed() const { return fEventProcessed ;} | |
53 | ||
54 | ||
55 | Int_t GetFormat() const { return fFormat ;} | |
56 | const Char_t* GetFile() const { return fFileCurrent.Data();} | |
57 | ||
58 | Int_t GetFitPulse() const { return fFitPulse ;} | |
59 | const Char_t* GetLastProcFile(); | |
60 | Int_t GetMaxHwAddr() const { return fMaxHwAddr ; } | |
61 | ||
62 | Int_t GetLastSector() const { return fSectorLast;} | |
63 | Int_t GetLastSectorDisplayed() const { return fSectorLastDisplayed;} | |
64 | ||
65 | Int_t GetNextEventID() const { return fEventNextID ;} | |
66 | Int_t GetNumOfChannels() const { return fNumOfChannels ; } | |
67 | ||
68 | Int_t GetPedestals() const { return fPedestals ; } | |
69 | Int_t GetProcNextEvent() const { return fEventNext;} | |
70 | ||
71 | Int_t GetProcOneSector() const { return fProcOneSector;} | |
72 | ||
73 | Int_t GetRangeBaseMin() const { return fRangeBaseMin;} | |
74 | Int_t GetRangeBaseMax() const { return fRangeBaseMax;} | |
75 | ||
76 | Int_t GetRangeMaxAdcMin() const { return fRangeMaxAdcMin;} | |
77 | Int_t GetRangeMaxAdcMax() const { return fRangeMaxAdcMax;} | |
78 | ||
79 | Int_t GetRangeSumMin() const { return fRangeSumMin;} | |
80 | Int_t GetRangeSumMax() const { return fRangeSumMax;} | |
81 | ||
82 | ||
83 | Int_t GetSectorFilled(Int_t sector,Int_t side)const { return fSectorArr[sector+side*18] ;} | |
84 | Int_t GetSectorFilled(Int_t sector) const { return fSectorArr[sector] ;} | |
85 | ||
86 | Int_t GetSamplingFrequency() const { return fSamplingFreq;} | |
87 | ||
88 | Int_t GetTimeBins() const { return fTimeBins ; } | |
89 | ||
90 | Int_t GetWrite10Bit() const { return fWrite10Bit ;} | |
91 | ||
92 | ||
93 | ||
94 | void SetBaseConfig(float* ConfArr); | |
95 | ||
96 | void SetLastProcFile(const Char_t* val); | |
97 | ||
98 | void SetEventProcessed(Int_t val) { fEventProcessed=val;} | |
99 | ||
100 | void SetFitPulse( Int_t val) { fFitPulse =val;} | |
101 | ||
102 | void SetNumOfChannels(Int_t val) { fNumOfChannels = val ; } | |
103 | ||
104 | void SetPedestals(Int_t val) { fPedestals = val ; } | |
105 | ||
106 | void SetTimeBins(Int_t val) { fTimeBins = val ; } | |
107 | ||
108 | void SetFile(const Char_t* val) { fFileCurrent=val; } | |
109 | ||
110 | void SetLastSector(Int_t val) { fSectorLast = val;} | |
111 | ||
112 | void SetLastSectorDisplayed(Int_t val) { fSectorLastDisplayed = val;} | |
113 | ||
114 | void SetNextEventID(Int_t val ) { fEventNextID = val;} | |
115 | ||
116 | void SetProcNextEvent(Int_t val) { fEventNext = val ;} | |
117 | ||
118 | void SetProcOneSector(Int_t val) { fProcOneSector = val ;} | |
119 | ||
120 | void SetRangeMax( Int_t min, Int_t max) { fRangeMaxAdcMin=min, fRangeMaxAdcMax=max;} | |
121 | void SetRangeBase(Int_t min, Int_t max) { fRangeBaseMin =min, fRangeBaseMax =max;} | |
122 | void SetRangeSum( Int_t min, Int_t max) { fRangeSumMin =min, fRangeSumMax =max;} | |
123 | ||
124 | void SetSectorFilled(Int_t sector,Int_t side){ fSectorArr[sector+side*18] =1;} | |
125 | void SetSectorFilled(Int_t sector) { fSectorArr[sector] =1;} | |
126 | ||
127 | void SetComponentSelection(float* val) { for(Int_t i=0;i<10;i++) fComponents[i] = val[i];} | |
128 | ||
129 | void SetFormat(Int_t val) { fFormat = val;} | |
130 | ||
131 | void SetWrite10Bit(Int_t val) { fWrite10Bit =val;} | |
132 | void SetMainSize(Int_t mainx, Int_t mainy, | |
133 | Int_t borderx ,Int_t bordery ); | |
134 | ||
135 | void PrintConfig(); | |
136 | ||
137 | void ReadConfig(const Char_t* nameconf); | |
138 | void ResetSectorArray() { for(Int_t i=0;i<36; i++) fSectorArr[i]=0;} | |
139 | ||
140 | private: | |
141 | ||
142 | // Data Format 0: DATA 1: ROOT | |
143 | Int_t fFormat; // Format of the processed file/stream | |
144 | ||
145 | Int_t fSector; // Currently processed sector | |
146 | Int_t fSectorLast; // Previously processed sector | |
147 | Int_t fSectorLastDisplayed; // Last displayed sector | |
148 | Int_t fSectorArr[36]; // Array of processed sectors | |
149 | ||
150 | // Current and Last Files and Dirs | |
151 | TString fFileLast; // Name of last processed file/stream | |
152 | Int_t fFileLastSet ; // Flag showing if last file name was set | |
153 | ||
154 | TString fFileCurrent; // Current file/stream name | |
155 | ||
156 | Int_t fEventNext; // Process next event -> do not stay in current event | |
157 | Int_t fEventNextID; // Next event ID to be processed (if event id does not exist search for next existing event) | |
158 | ||
159 | Int_t fEventProcessed; // Flag to show if event was read in | |
160 | ||
161 | // Ranges for determination of ADC max , Baseline and ADC Sum | |
162 | Int_t fRangeMaxAdcMin ; // Min timebin of range to determine max. adc value | |
163 | Int_t fRangeMaxAdcMax ; // Max timebin of range to determine max. adc value | |
164 | ||
165 | Int_t fRangeBaseMin ; // Min timebin of range to determine baseline | |
166 | Int_t fRangeBaseMax ; // Max timebin of range to determine basline | |
167 | ||
168 | Int_t fRangeSumMin ; // Min timebin of range to determine adc sum | |
169 | Int_t fRangeSumMax ; // Max timebin of range to determine adc sum | |
170 | ||
171 | // Canvas Size for Monitor Canvases | |
172 | Int_t fCanvasXSize; // Canvas size in x ( set to fCanvasMainSize ) | |
173 | Int_t fCanvasYSize; // Canvas size in y ( set to fCanvasMainSize ) | |
174 | Int_t fCanvasXSpace; // Canvas size in x + border size | |
175 | Int_t fCanvasYSpace; // Canvas size in y + border size | |
176 | Int_t fCanvasXOffset; // Canvas x offset (main window) | |
177 | Int_t fCanvasMainSize; // Canvas size in x and y | |
178 | ||
179 | // Size of Main frame and Border (depending on Window Manager) | |
180 | Int_t fMainXSize; // Main window size x | |
181 | Int_t fMainYSize; // Main window size y | |
182 | ||
183 | Int_t fBorderXSize ; // Canvas border size x | |
184 | Int_t fBorderYSize ; // Canvas border size y | |
185 | ||
186 | // Buttonsize; | |
187 | Float_t fButtonXSize ; // Button size x | |
188 | Float_t fButtonYSize ; // Button size y | |
189 | Float_t fButtonFirstX1; // Pos of first button row in x | |
190 | Float_t fButtonFirstX2; // Pos of second button row in x | |
191 | Float_t fButtonFirstY ; // Position of first button in y | |
192 | ||
193 | Int_t fWrite10Bit ; // Flag to write 10 bit data words to file | |
194 | ||
195 | // Arr to Store Selected components to be displayed | |
196 | Float_t fComponents[10]; // Array of components to be selected for display | |
197 | ||
198 | // Sampling Freq required for FFT | |
199 | Int_t fSamplingFreq; // Sampling frequency for data taking | |
200 | ||
201 | ||
202 | Int_t fPedestals ; // Version for pedestal calculation | |
203 | Int_t fNumOfChannels ; // Maximum number of channels | |
204 | Int_t fTimeBins ; // Number of timebins to be displayed | |
205 | Int_t fMaxHwAddr ; // Max value of hardware addresses | |
206 | ||
207 | Int_t fFitPulse ; // Flag for fitting pulse around max adc | |
208 | ||
209 | Int_t fProcOneSector ; // Flag for processing only the specified sector for the next event | |
210 | ||
211 | ||
212 | ClassDef(AliTPCMonitorConfig,1); | |
213 | }; | |
214 | #endif |