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