]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/SMcalib/AliEMCALCalibAPD.h
silvermy@ornl.gov - SMcalib - directory with tools for SuperModule calibrations at...
[u/mrichter/AliRoot.git] / EMCAL / SMcalib / AliEMCALCalibAPD.h
1 #ifndef ALIEMCALCALIBAPD_H
2 #define ALIEMCALCALIBAPD_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 #include <TObject.h>
10 class TString;
11
12 /*
13   Objects of this class read txt file with APD data
14   AliEMCALCalibAPD inherits TObject only to use AliLog "functions".
15 */
16
17 class AliEMCALCalibAPD : public TObject {
18 public:
19   AliEMCALCalibAPD();
20
21   void ReadCalibAPDInfo(Int_t nAPD, const TString &txtFileName); // info file is for nSm=1 to 12 SuperModules
22   void WriteCalibAPDInfo(const TString &txtFileName); // info file is for nSm=1 to 12 SuperModules
23
24   virtual ~AliEMCALCalibAPD();
25
26   struct AliEMCALCalibAPDData {
27     Int_t fAPDNum;    // assigned APD-PA number; Catania 10000-, Houston: 20000-
28     UInt_t fSerialNum; // Serial Number; from Hamamatsu 
29     Char_t fStatus[10]; // Status info: should be "tested"
30     Char_t fLocation[20]; // where was the test done: "Catania" or "Houston"
31     Int_t fRunNum; // DATE run at test station
32     Int_t fTestPos; // location of APD during test
33
34     Float_t fV30;      // Catania/Houston Voltage V30 (V) at T = 25 deg C
35     Float_t fV50;      // Catania/Houston Voltage V30 (V) at T = 25 deg C
36     Float_t fVoltCoeff; // 1/M x dM/dV
37     Float_t fPar[3];   // fit parameters, p0,p1,p2 - for ADC vs bias measurement
38     Float_t fParErr[3]; // error on fit parameters      
39
40     Int_t fBreakDown; // Hamamatsu Breakdown Voltage (V)        
41     Float_t fHamV50;       // Hamamatsu Voltage V50 (V) 
42     Float_t fDarkCurrent; // Hamamatsu Dark Current (A) 
43     Float_t fTestTemp; // Hamamatsu Testing Temperature (deg C) 
44
45   };
46
47   // pointer to stored info.
48   Int_t GetNCalibAPD() const { return fNCalibAPD; }; 
49   AliEMCALCalibAPDData * GetCalibAPDData() const { return fData; };
50
51   // - via the index in the stored array:
52   virtual AliEMCALCalibAPDData GetCalibAPDDataId(Int_t apdIndex) const;
53   // - or via the actual APD number
54   virtual AliEMCALCalibAPDData GetCalibAPDDataNum(Int_t apdNum) const;
55
56 protected:
57
58   Int_t           fNCalibAPD; // Number of APDs
59   AliEMCALCalibAPDData *fData; // array with the data
60
61 private:
62
63   AliEMCALCalibAPD(const AliEMCALCalibAPD &);
64   AliEMCALCalibAPD &operator = (const AliEMCALCalibAPD &);
65
66   ClassDef(AliEMCALCalibAPD, 1) //CalibAPD data reader
67 };
68
69 #endif