ROOT logo
#ifndef HPIONTRACKERCALPAR_H
#define HPIONTRACKERCALPAR_H

#include "TObject.h"
#include "TObjArray.h"
#include "hparset.h"

class HPionTrackerCalParCell : public TObject {
protected:
  Float_t tdcSlope;  // TDC slope
  Float_t tdcOffset; // TDC offset
  Float_t adcSlope;  // ADC slope
  Float_t adcOffset; // ADC offset
public:
  HPionTrackerCalParCell()  {clear();}
  ~HPionTrackerCalParCell() {}
  void clear();
  Float_t getTdcSlope(void)  {return tdcSlope;}
  Float_t getTdcOffset(void) {return tdcOffset;}
  Float_t getAdcSlope(void)  {return adcSlope;}
  Float_t getAdcOffset(void) {return adcOffset;}
  void getData(Float_t* data) {
    data[0] = tdcSlope;
    data[1] = tdcOffset;
    data[2] = adcSlope;
    data[3] = adcOffset;
  }
  void setTdcSlope(Float_t s)  {tdcSlope = s;}
  void setTdcOffset(Float_t o) {tdcOffset = o;}
  void setAdcSlope(Float_t s)  {adcSlope = s;}
  void setAdcOffset(Float_t o) {adcOffset = o;}
  void fill(Float_t, Float_t, Float_t, Float_t);
  void fill(Float_t*);
  void fill(HPionTrackerCalParCell&);
   ClassDef(HPionTrackerCalParCell, 1) // Chan level of the PionTracker calibration parameters
};


class HPionTrackerCalParMod: public TObject {
protected:
  TObjArray* array;  // pointer array containing HPionTrackerCalParCell objects
public:
  HPionTrackerCalParMod(Int_t n = 128);
  ~HPionTrackerCalParMod();
  HPionTrackerCalParCell& operator[](Int_t i) {
     return *static_cast<HPionTrackerCalParCell*>((*array)[i]);
  }
  Int_t getSize() {return array->GetEntries();}
  ClassDef(HPionTrackerCalParMod, 1) // Module level of PionTracker Calibration parameters
};


class HPionTrackerCalPar : public HParSet {
protected:
  TObjArray* array;     // array of pointers of type HPionTrackerCalParMod
public:
  HPionTrackerCalPar(const Char_t* name = "PionTrackerCalPar",
                     const Char_t* title = "Calibration parameters of the PionTracker",
                     const Char_t* context = "PionTrackerCalParProduction");
  ~HPionTrackerCalPar();

  HPionTrackerCalParMod& operator[](Int_t i) {
    return *static_cast<HPionTrackerCalParMod*>((*array)[i]);
  }

  Int_t getSize() {return array->GetEntries();}
  Bool_t init(HParIo* input, Int_t* set);
  Int_t write(HParIo* output);
  void clear();
  void printParams();
  void readline(const Char_t*, Int_t*);
  void putAsciiHeader(TString&);
  void write(fstream&);
  ClassDef(HPionTrackerCalPar, 1) // Container for the calibration parameters of the PionTracker
};

#endif  /*!HPIONTRACKERCALPAR_H*/
 hpiontrackercalpar.h:1
 hpiontrackercalpar.h:2
 hpiontrackercalpar.h:3
 hpiontrackercalpar.h:4
 hpiontrackercalpar.h:5
 hpiontrackercalpar.h:6
 hpiontrackercalpar.h:7
 hpiontrackercalpar.h:8
 hpiontrackercalpar.h:9
 hpiontrackercalpar.h:10
 hpiontrackercalpar.h:11
 hpiontrackercalpar.h:12
 hpiontrackercalpar.h:13
 hpiontrackercalpar.h:14
 hpiontrackercalpar.h:15
 hpiontrackercalpar.h:16
 hpiontrackercalpar.h:17
 hpiontrackercalpar.h:18
 hpiontrackercalpar.h:19
 hpiontrackercalpar.h:20
 hpiontrackercalpar.h:21
 hpiontrackercalpar.h:22
 hpiontrackercalpar.h:23
 hpiontrackercalpar.h:24
 hpiontrackercalpar.h:25
 hpiontrackercalpar.h:26
 hpiontrackercalpar.h:27
 hpiontrackercalpar.h:28
 hpiontrackercalpar.h:29
 hpiontrackercalpar.h:30
 hpiontrackercalpar.h:31
 hpiontrackercalpar.h:32
 hpiontrackercalpar.h:33
 hpiontrackercalpar.h:34
 hpiontrackercalpar.h:35
 hpiontrackercalpar.h:36
 hpiontrackercalpar.h:37
 hpiontrackercalpar.h:38
 hpiontrackercalpar.h:39
 hpiontrackercalpar.h:40
 hpiontrackercalpar.h:41
 hpiontrackercalpar.h:42
 hpiontrackercalpar.h:43
 hpiontrackercalpar.h:44
 hpiontrackercalpar.h:45
 hpiontrackercalpar.h:46
 hpiontrackercalpar.h:47
 hpiontrackercalpar.h:48
 hpiontrackercalpar.h:49
 hpiontrackercalpar.h:50
 hpiontrackercalpar.h:51
 hpiontrackercalpar.h:52
 hpiontrackercalpar.h:53
 hpiontrackercalpar.h:54
 hpiontrackercalpar.h:55
 hpiontrackercalpar.h:56
 hpiontrackercalpar.h:57
 hpiontrackercalpar.h:58
 hpiontrackercalpar.h:59
 hpiontrackercalpar.h:60
 hpiontrackercalpar.h:61
 hpiontrackercalpar.h:62
 hpiontrackercalpar.h:63
 hpiontrackercalpar.h:64
 hpiontrackercalpar.h:65
 hpiontrackercalpar.h:66
 hpiontrackercalpar.h:67
 hpiontrackercalpar.h:68
 hpiontrackercalpar.h:69
 hpiontrackercalpar.h:70
 hpiontrackercalpar.h:71
 hpiontrackercalpar.h:72
 hpiontrackercalpar.h:73
 hpiontrackercalpar.h:74
 hpiontrackercalpar.h:75
 hpiontrackercalpar.h:76
 hpiontrackercalpar.h:77