105 #ifndef STAR_StFtpcDbReader
106 #define STAR_StFtpcDbReader
112 #include "tables/St_ftpcDimensions_Table.h"
113 #include "tables/St_ftpcPadrowZ_Table.h"
114 #include "tables/St_ftpcAsicMap_Table.h"
115 #include "tables/St_ftpcEField_Table.h"
116 #include "tables/St_ftpcVDrift_Table.h"
117 #include "tables/St_ftpcDeflection_Table.h"
118 #include "tables/St_ftpcdVDriftdP_Table.h"
119 #include "tables/St_ftpcdDeflectiondP_Table.h"
120 #include "tables/St_ftpcAmpSlope_Table.h"
121 #include "tables/St_ftpcAmpOffset_Table.h"
122 #include "tables/St_ftpcTimeOffset_Table.h"
123 #include "tables/St_ftpcGas_Table.h"
124 #include "tables/St_ftpcDriftField_Table.h"
125 #include "tables/St_ftpcElectronics_Table.h"
126 #include "tables/St_ftpcInnerCathode_Table.h"
127 #include "tables/St_ftpcClusterGeom_Table.h"
135 Int_t mNumberOfPadrows;
136 Int_t mNumberOfPadrowsPerSide;
137 Int_t mFirstPadrowToSearch;
138 Int_t mLastPadrowToSearch;
139 Int_t mNumberOfSectors;
140 Int_t mFirstSectorToSearch;
141 Int_t mLastSectorToSearch;
143 Int_t mNumberOfTimebins;
145 Int_t mMinTimeBinMed;
146 Int_t mMinTimeBinOut;
147 Int_t mMaxTimeLength;
148 Int_t mMaxTimeLengthMed;
149 Int_t mMaxTimeLengthOut;
151 Int_t mMaxPadLengthMed;
152 Int_t mMaxPadLengthOut;
156 Bool_t mEastIsInverted;
157 Bool_t mAsic2EastNotInverted;
160 Float_t mPhiPerSector;
161 Float_t mRadiansPerPad;
162 Float_t mRadiansPerBoundary;
163 Float_t mSensitiveVolumeInnerRadius;
164 Float_t mSensitiveVolumeOuterRadius;
166 Float_t *mPadrowZPosition;
168 Int_t mNumberOfMagboltzBins;
169 Int_t mMaximumNumberOfMagboltzBins;
170 Float_t *mMagboltzEField;
171 Float_t *mMagboltzVDrift;
172 Float_t *mMagboltzDeflection;
173 Float_t *mMagboltzdVDriftdP;
174 Float_t *mMagboltzdDeflectiondP;
181 Float_t mGasAttenuation;
182 Float_t mGasIonizationPotential;
183 Float_t mBaseTemperature;
184 Float_t mBasePressure;
185 Float_t mPressureOffset;
186 Float_t mTemperatureDifference;
187 Float_t mDefaultTemperatureWest;
188 Float_t mDefaultTemperatureEast;
189 Float_t mMinPressure;
190 Float_t mMaxPressure;
191 Float_t mMinGasTemperature;
192 Float_t mMaxGasTemperature;
193 Float_t mAdjustAverageWest;
194 Float_t mAdjustAverageEast;
198 Float_t mMicrosecondsPerTimebin;
199 Bool_t mSwapRDO6RDO7East;
201 Float_t mOffsetCathodeWest;
202 Float_t mOffsetCathodeEast;
203 Float_t mAngleOffsetWest;
204 Float_t mAngleOffsetEast;
206 Float_t mDriftCathodeVoltage;
207 Float_t mMinimumDriftField;
208 Float_t mStepSizeDriftField;
209 Float_t mRadiusTimesField;
211 Float_t mMinChargeWindow;
213 ftpcAmpSlope_st *ampslopeTable;
214 ftpcAmpOffset_st *ampoffsetTable;
215 ftpcTimeOffset_st *timeoffsetTable;
216 ftpcGas_st* gasTable;
217 ftpcElectronics_st *electronicsTable;
226 Int_t FtpcAmpOffset(St_ftpcAmpOffset *ampoffset);
227 Int_t FtpcAmpSlope(St_ftpcAmpSlope *ampslope);
228 Int_t FtpcAsicMap(St_ftpcAsicMap *asicmap);
229 Int_t FtpcClusterGeom(St_ftpcClusterGeom *clustergeo);
230 Int_t FtpcdDeflectiondP(St_ftpcdDeflectiondP *ddeflectiondp);
231 Int_t FtpcDeflection(St_ftpcDeflection *deflection);
232 Int_t FtpcDimensions(St_ftpcDimensions *dimensions);
233 Int_t FtpcDriftField(St_ftpcDriftField *driftfield);
234 Int_t FtpcdVDriftdP(St_ftpcdVDriftdP *dvdriftdp);
235 Int_t FtpcEField(St_ftpcEField *efield);
236 Int_t FtpcElectronics(St_ftpcElectronics *electronics);
237 Int_t FtpcGas(St_ftpcGas *gas);
238 Int_t FtpcInnerCathode(St_ftpcInnerCathode *cathode);
239 Int_t FtpcPadrowZ(St_ftpcPadrowZ *zrow);
240 Int_t FtpcTimeOffset(St_ftpcTimeOffset *timeoffset);
241 Int_t FtpcVDrift(St_ftpcVDrift *vdrift);
246 St_ftpcPadrowZ *zrow,
247 St_ftpcAsicMap *asicmap,
248 St_ftpcEField *efield,
249 St_ftpcVDrift *vdrift,
250 St_ftpcDeflection *deflection,
251 St_ftpcdVDriftdP *dvdriftdp,
252 St_ftpcdDeflectiondP *ddeflectiondp,
253 St_ftpcAmpSlope *ampslope,
254 St_ftpcAmpOffset *ampoffset,
255 St_ftpcTimeOffset *timeoffset,
256 St_ftpcDriftField *driftfield,
258 St_ftpcElectronics *electronics,
259 St_ftpcInnerCathode *cathode,
260 St_ftpcClusterGeom *clustergeo);
263 St_ftpcAsicMap *asicmap,
264 St_ftpcEField *efield,
265 St_ftpcVDrift *vdrift,
266 St_ftpcDeflection *deflection,
267 St_ftpcdVDriftdP *dvdriftdp,
268 St_ftpcdDeflectiondP *ddeflectiondp,
270 St_ftpcDriftField *driftfield,
271 St_ftpcElectronics *electronics,
272 St_ftpcAmpSlope *ampslope,
273 St_ftpcAmpOffset *ampoffset,
274 St_ftpcTimeOffset *timeoffset,
275 St_ftpcInnerCathode *cathode);
278 St_ftpcPadrowZ *zrow,
279 St_ftpcEField *efield,
280 St_ftpcVDrift *vdrift,
281 St_ftpcDeflection *deflection,
282 St_ftpcdVDriftdP *dvdriftdp,
283 St_ftpcdDeflectiondP *ddeflectiondp,
285 St_ftpcDriftField *driftfield);
288 St_ftpcPadrowZ *zrow,
289 St_ftpcEField *efield,
290 St_ftpcVDrift *vdrift,
291 St_ftpcDeflection *deflection,
292 St_ftpcdVDriftdP *dvdriftdp,
293 St_ftpcdDeflectiondP *ddeflectiondp,
294 St_ftpcElectronics *electronics,
296 St_ftpcDriftField *driftfield);
299 St_ftpcPadrowZ *zrow );
306 Float_t padrowZPosition(Int_t i);
307 Float_t magboltzEField(Int_t i);
308 Float_t magboltzVDrift(Int_t i,Int_t padrow);
309 Float_t magboltzDeflection(Int_t i, Int_t padrow);
310 Float_t magboltzdVDriftdP(Int_t i, Int_t padrow);
311 Float_t magboltzdDeflectiondP(Int_t i, Int_t padrow);
312 Float_t amplitudeSlope(Int_t i, Int_t padrow);
313 Float_t amplitudeOffset(Int_t i, Int_t padrow);
314 Float_t timeOffset(Int_t i, Int_t padrow);
317 Int_t setMagboltzEField(Int_t i, Float_t newvalue);
318 Int_t setMagboltzVDrift(Int_t i, Int_t padrow, Float_t newvalue);
319 Int_t setMagboltzDeflection(Int_t i, Int_t padrow, Float_t newvalue);
320 Int_t setMagboltzdVDriftdP(Int_t i, Int_t padrow, Float_t newvalue);
321 Int_t setMagboltzdDeflectiondP(Int_t i, Int_t padrow, Float_t newvalue);
322 Int_t setMicrosecondsPerTimebin(Float_t newvalue);
323 Bool_t setLaserRun(Bool_t laserRun);
326 Int_t numberOfPadrows() {
return mNumberOfPadrows;}
327 Int_t numberOfPadrowsPerSide() {
return mNumberOfPadrowsPerSide;}
328 Int_t firstPadrowToSearch() {
return mFirstPadrowToSearch;}
329 Int_t lastPadrowToSearch() {
return mLastPadrowToSearch;}
330 Int_t numberOfSectors() {
return mNumberOfSectors;}
331 Int_t firstSectorToSearch() {
return mFirstSectorToSearch;}
332 Int_t lastSectorToSearch() {
return mLastSectorToSearch;}
333 Int_t numberOfPads() {
return mNumberOfPads;}
334 Int_t numberOfTimebins() {
return mNumberOfTimebins;}
336 Bool_t EastIsInverted() {
return mEastIsInverted;}
337 Bool_t Asic2EastNotInverted() {
return mAsic2EastNotInverted;}
338 Bool_t SwapRDO6RDO7East() {
return mSwapRDO6RDO7East;}
340 Int_t numberOfMagboltzBins() {
return mNumberOfMagboltzBins;}
341 Int_t maximumNumberOfMagboltzBins() {
return mMaximumNumberOfMagboltzBins;}
343 Float_t phiOrigin() {
return mPhiOrigin;}
344 Float_t phiPerSector() {
return mPhiPerSector;}
345 Float_t phiEnd() {
return mPhiOrigin+mPhiPerSector;}
346 Float_t padLength() {
return mPadLength;}
347 Float_t padPitch() {
return mPadPitch;}
348 Float_t radiansPerPad() {
return mRadiansPerPad;}
349 Float_t radiansPerBoundary() {
return mRadiansPerBoundary;}
350 Float_t sensitiveVolumeInnerRadius() {
return mSensitiveVolumeInnerRadius;}
351 Float_t sensitiveVolumeOuterRadius() {
return mSensitiveVolumeOuterRadius;}
353 Float_t percentAr() {
return mPercentAr;}
354 Float_t percentCO2() {
return mPercentCO2;}
355 Float_t percentNe() {
return mPercentNe;}
356 Float_t percentHe() {
return mPercentHe;}
357 Float_t gasGain() {
return mGasGain;}
358 Float_t gasAttenuation() {
return mGasAttenuation;}
359 Float_t gasIonizationPotential() {
return mGasIonizationPotential;}
360 Float_t baseTemperature() {
return mBaseTemperature;}
361 Float_t basePressure() {
return mBasePressure;}
362 Float_t pressureOffset() {
return mPressureOffset;}
363 Float_t temperatureDifference(){
return mTemperatureDifference;}
364 Float_t defaultTemperatureWest(){
return mDefaultTemperatureWest;}
365 Float_t defaultTemperatureEast(){
return mDefaultTemperatureEast;}
366 Float_t minPressure() {
return mMinPressure;}
367 Float_t maxPressure() {
return mMaxPressure;}
368 Float_t minGasTemperature() {
return mMinGasTemperature;}
369 Float_t maxGasTemperature() {
return mMaxGasTemperature;}
370 Float_t adjustAverageWest() {
return mAdjustAverageWest;}
371 Float_t adjustAverageEast() {
return mAdjustAverageEast;}
373 Float_t tZero() {
return mTZero;}
374 Float_t laserTZero() {
return mLaserTZero;}
375 Float_t microsecondsPerTimebin() {
return mMicrosecondsPerTimebin;}
377 Float_t driftCathodeVoltage() {
return mDriftCathodeVoltage;}
378 Float_t minimumDriftField() {
return mMinimumDriftField;}
379 Float_t stepSizeDriftField() {
return mStepSizeDriftField;}
380 Float_t radiusTimesField() {
return mRadiusTimesField;}
382 Float_t offsetCathodeWest() {
return mOffsetCathodeWest;}
383 Float_t offsetCathodeEast() {
return mOffsetCathodeEast;}
384 Float_t angleOffsetWest() {
return mAngleOffsetWest;}
385 Float_t angleOffsetEast() {
return mAngleOffsetEast;}
387 Int_t minTimeBin() {
return mMinTimeBin;}
388 Int_t minTimeBinMed() {
return mMinTimeBinMed;}
389 Int_t minTimeBinOut() {
return mMinTimeBinOut;}
390 Int_t maxTimeLength() {
return mMaxTimeLength;}
391 Int_t maxPadLength() {
return mMaxPadLength;}
392 Int_t maxTimeLengthMed() {
return mMaxTimeLengthMed;}
393 Int_t maxPadLengthMed() {
return mMaxPadLengthMed;}
394 Int_t maxTimeLengthOut() {
return mMaxTimeLengthOut;}
395 Int_t maxPadLengthOut() {
return mMaxPadLengthOut;}
396 Int_t deltaTime() {
return mDeltaTime;}
397 Int_t deltaPad() {
return mDeltaPad;}
398 Float_t minChargeWindow() {
return mMinChargeWindow;}