coverity fix
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibPadStatus.h
CommitLineData
cf46274d 1#ifndef ALITRDCALIBPADSTATUS_H
170c35f1 2#define ALITRDCALIBPADSTATUS_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8///////////////////////////////////////////////////////////////////////////////
9// //
10// TRD calibration class for online calibration //
11// //
12///////////////////////////////////////////////////////////////////////////////
13
14class TObjArray;
15class TH2F;
f162af62 16
17class AliRawReader;
18
289cc637 19class AliTRDCalDet;
20class AliTRDCalPad;
170c35f1 21class AliTRDCalROC;
22class AliTRDCalPadStatus;
f162af62 23class AliTRDgeometry;
24
1785640c 25class AliTRDdigitsManager;
26class AliTRDSignalIndex;
27
170c35f1 28struct eventHeaderStruct;
29
30class AliTRDCalibPadStatus : public TObject {
31
32public:
33
34 AliTRDCalibPadStatus();
35 AliTRDCalibPadStatus(const AliTRDCalibPadStatus &ped);
36 virtual ~AliTRDCalibPadStatus();
37
38 AliTRDCalibPadStatus& operator = (const AliTRDCalibPadStatus &source);
39
8df1f8f5 40 Int_t ProcessEvent(AliRawReader *rawReader);
1785640c 41
8799e123 42 void Destroy();
170c35f1 43 Int_t UpdateHisto(const Int_t idet, const Int_t iRow, const Int_t iCol,
1785640c 44 const Int_t signal, const Int_t crowMax, const Int_t ccold, const Int_t icMcm, const Int_t icRob);
45
170c35f1 46 void AnalyseHisto();
47 AliTRDCalPadStatus *CreateCalPadStatus();
289cc637 48 AliTRDCalPad *CreateCalPad();
0bc7827a 49 AliTRDCalDet *CreateCalDet() const;
3a0f6479 50
6ace5fe2 51 void SetCalRocMean(AliTRDCalROC *mean, Int_t det);
52 void SetCalRocRMS(AliTRDCalROC *rms, Int_t det);
53
e4db522f 54 void SetCalRocMeand(AliTRDCalROC *mean, Int_t det);
55 void SetCalRocRMSd(AliTRDCalROC *rms, Int_t det);
56
170c35f1 57 //
170c35f1 58 AliTRDCalROC* GetCalRocMean(Int_t det, Bool_t force=kFALSE); // get calibration object
59 AliTRDCalROC* GetCalRocRMS(Int_t det, Bool_t force=kFALSE); // get calibration object
60
e4db522f 61 AliTRDCalROC* GetCalRocMeand(Int_t det, Bool_t force=kFALSE); // get calibration object
62 AliTRDCalROC* GetCalRocRMSd(Int_t det, Bool_t force=kFALSE); // get calibration object
63
170c35f1 64 TH2F* GetHisto (Int_t det, Bool_t force=kFALSE); // get refernce histogram
65
8368e0ee 66 void DumpToFile(const Char_t *filename, const Char_t *dir="", Bool_t append=kFALSE);
170c35f1 67 //
68 Int_t GetAdcMin() const { return fAdcMin; }
69 Int_t GetAdcMax() const { return fAdcMax; }
70
71 void SetRangeAdc (Int_t aMin, Int_t aMax){ fAdcMin=aMin; fAdcMax=aMax; } // Set adc range
72
73
e4db522f 74 private:
170c35f1 75
f162af62 76 // Geometry
77 AliTRDgeometry *fGeo; //! The TRD geometry
78
170c35f1 79 Int_t fAdcMin; // min adc channel of pedestal value
80 Int_t fAdcMax; // max adc channel of pedestal value
81 Int_t fDetector; // Current detector
cf46274d 82 Int_t fNumberOfTimeBins; // Current number of time bins
170c35f1 83
170c35f1 84 TObjArray fCalRocArrayMean; // Array of AliTRDCalROC class for signal width calibration
85 TObjArray fCalRocArrayRMS; // Array of AliTRDCalROC class for mean width calibration
86
e4db522f 87 TObjArray fCalRocArrayMeand; // Array of AliTRDCalROC class for signal width calibration doubled
88 TObjArray fCalRocArrayRMSd; // Array of AliTRDCalROC class for mean width calibration doubled
89
170c35f1 90 TObjArray fHistoArray; // Array of histos for mean width calibration
91
e4db522f 92
cf46274d 93 AliTRDCalROC* GetCalRoc(Int_t det, TObjArray* arr, Bool_t force);
94
170c35f1 95 TH2F* GetHisto(Int_t det, TObjArray *arr,
96 Int_t nbinsY, Float_t ymin, Float_t ymax,
a6e0ebfe 97 const Char_t *type, Bool_t force);
170c35f1 98
99 // Some basic geometry function
053767a4 100 virtual Int_t GetLayer(Int_t d) const;
101 virtual Int_t GetStack(Int_t d) const;
170c35f1 102 virtual Int_t GetSector(Int_t d) const;
103
3a0f6479 104 ClassDef(AliTRDCalibPadStatus,1)
170c35f1 105
3a0f6479 106};
170c35f1 107#endif
068b874f 108
109