ROOT logo
#ifndef HWALLCALPAR_H
#define HWALLCALPAR_H

using namespace std;
#include "TObject.h"
#include "TObjArray.h"
#include "hparset.h"
#include <iostream>
#include <iomanip>

class HWallCalParCell : public TObject {
protected:
    Float_t TDC_slope;
    Float_t TDC_offset;
    Float_t TDC_WalkCorr1;
    Float_t TDC_WalkCorr2;
    Float_t ADC_slope;
    Float_t ADC_offset;

public:
    HWallCalParCell() { clear(); }
    ~HWallCalParCell() {;}
    Float_t getTDC_Slope()  { return TDC_slope; }
    Float_t getTDC_Offset() { return TDC_offset; }
    Float_t getTDC_WalkCorr1() { return TDC_WalkCorr1; }
    Float_t getTDC_WalkCorr2() { return TDC_WalkCorr2; }
    Float_t getADC_Slope()  { return ADC_slope; }
    Float_t getADC_Offset() { return ADC_offset; }
    void fill(Float_t Ts,Float_t To,Float_t Twc1,Float_t Twc2,Float_t As,Float_t Ao) {
      TDC_slope =Ts;
      TDC_offset=To;
      TDC_WalkCorr1=Twc1;
      TDC_WalkCorr2=Twc2;
      ADC_slope =As;
      ADC_offset=Ao;
    }
    void fill(HWallCalParCell& r) {
      TDC_slope =r.getTDC_Slope();
      TDC_offset=r.getTDC_Offset();
      TDC_WalkCorr1=r.getTDC_WalkCorr1();
      TDC_WalkCorr2=r.getTDC_WalkCorr2();
      ADC_slope =r.getADC_Slope();
      ADC_offset=r.getADC_Offset();
    }
    void setTDC_Slope(Float_t Ts)  { TDC_slope =Ts; }
    void setTDC_Offset(Float_t To) { TDC_offset=To; }
    void setTDC_WalkCorr1(Float_t Twc1) { TDC_WalkCorr1=Twc1; }
    void setTDC_WalkCorr2(Float_t Twc2) { TDC_WalkCorr2=Twc2; }
    void setADC_Slope(Float_t As)  { ADC_slope =As; }
    void setADC_Offset(Float_t Ao) { ADC_offset=Ao; }

    void clear() {
      TDC_slope =0.F;
      TDC_offset=0.F;
      TDC_WalkCorr1=0.F;
      TDC_WalkCorr2=0.F;
      ADC_slope =0.F;
      ADC_offset=0.F;
    }
    ClassDef(HWallCalParCell,1) // Chan level of the Forward Wall calibration parameters 
};

class HWallCalPar : public HParSet {
protected:
  TObjArray* array;     // array of pointers of type HWallCalParCell
public:
  HWallCalPar(const Char_t* name="WallCalPar",
               const Char_t* title="Calibration parameters for Forward Wall",
               const Char_t* context="WallCalProduction");
  ~HWallCalPar();
  HWallCalParCell& operator[](Int_t i) {
    return *static_cast<HWallCalParCell*>((*array)[i]);
  }
  Int_t getSize() { return array->GetEntries(); }
  Bool_t init(HParIo* input,Int_t* set);
  Int_t write(HParIo* output);
  void clear();
  void printParam();
  void readline(const Char_t*, Int_t*);
  void putAsciiHeader(TString&);
  Bool_t writeline(Char_t*, Int_t);
  ClassDef(HWallCalPar,1) // Container for the WALL calibration parameters
};

#endif  /*!HWALLCALPAR_H*/









 hwallcalpar.h:1
 hwallcalpar.h:2
 hwallcalpar.h:3
 hwallcalpar.h:4
 hwallcalpar.h:5
 hwallcalpar.h:6
 hwallcalpar.h:7
 hwallcalpar.h:8
 hwallcalpar.h:9
 hwallcalpar.h:10
 hwallcalpar.h:11
 hwallcalpar.h:12
 hwallcalpar.h:13
 hwallcalpar.h:14
 hwallcalpar.h:15
 hwallcalpar.h:16
 hwallcalpar.h:17
 hwallcalpar.h:18
 hwallcalpar.h:19
 hwallcalpar.h:20
 hwallcalpar.h:21
 hwallcalpar.h:22
 hwallcalpar.h:23
 hwallcalpar.h:24
 hwallcalpar.h:25
 hwallcalpar.h:26
 hwallcalpar.h:27
 hwallcalpar.h:28
 hwallcalpar.h:29
 hwallcalpar.h:30
 hwallcalpar.h:31
 hwallcalpar.h:32
 hwallcalpar.h:33
 hwallcalpar.h:34
 hwallcalpar.h:35
 hwallcalpar.h:36
 hwallcalpar.h:37
 hwallcalpar.h:38
 hwallcalpar.h:39
 hwallcalpar.h:40
 hwallcalpar.h:41
 hwallcalpar.h:42
 hwallcalpar.h:43
 hwallcalpar.h:44
 hwallcalpar.h:45
 hwallcalpar.h:46
 hwallcalpar.h:47
 hwallcalpar.h:48
 hwallcalpar.h:49
 hwallcalpar.h:50
 hwallcalpar.h:51
 hwallcalpar.h:52
 hwallcalpar.h:53
 hwallcalpar.h:54
 hwallcalpar.h:55
 hwallcalpar.h:56
 hwallcalpar.h:57
 hwallcalpar.h:58
 hwallcalpar.h:59
 hwallcalpar.h:60
 hwallcalpar.h:61
 hwallcalpar.h:62
 hwallcalpar.h:63
 hwallcalpar.h:64
 hwallcalpar.h:65
 hwallcalpar.h:66
 hwallcalpar.h:67
 hwallcalpar.h:68
 hwallcalpar.h:69
 hwallcalpar.h:70
 hwallcalpar.h:71
 hwallcalpar.h:72
 hwallcalpar.h:73
 hwallcalpar.h:74
 hwallcalpar.h:75
 hwallcalpar.h:76
 hwallcalpar.h:77
 hwallcalpar.h:78
 hwallcalpar.h:79
 hwallcalpar.h:80
 hwallcalpar.h:81
 hwallcalpar.h:82
 hwallcalpar.h:83
 hwallcalpar.h:84
 hwallcalpar.h:85
 hwallcalpar.h:86
 hwallcalpar.h:87
 hwallcalpar.h:88
 hwallcalpar.h:89
 hwallcalpar.h:90
 hwallcalpar.h:91
 hwallcalpar.h:92
 hwallcalpar.h:93
 hwallcalpar.h:94