ROOT logo
#ifndef HEMCCALQA_H
#define HEMCCALQA_H

#include "hemcraw.h"

using namespace std;

#include "TObject.h"

struct HEmcHitQA_t {
  Float_t time;
  Float_t width;
  HEmcHitQA_t() : time(0), width(0) {}
  virtual ~HEmcHitQA_t(){};
  ClassDef(HEmcHitQA_t, 1);
};

struct HEmcHitMatchQA_t {
  Float_t time;
  Float_t energy;
  HEmcHitMatchQA_t() : time(0), energy(0) {}
  virtual ~HEmcHitMatchQA_t(){};
  ClassDef(HEmcHitMatchQA_t, 1);
};

class HEmcCalQA : public TObject {
protected:
  Char_t  sector;       // sector number (0..5)
  UChar_t cell;         // cell number (0..254)
  Char_t  row;          // row number (0..14)
  Char_t  column;       // column number (0..16)
  UInt_t  nFast;
  UInt_t  nSlow;
  UInt_t  nMatched;
  HEmcHitQA_t fast[NTIMESEMCRAW];  //[nFast]
  HEmcHitQA_t slow[NTIMESEMCRAW];  //[nSlow]
  HEmcHitMatchQA_t matched[NTIMESEMCRAW]; //[nMatched]

public:
  HEmcCalQA() :
    sector(-1),
    cell(0),
    row(-1),
    column(-1),
    nFast(0),
    nSlow(0),
    nMatched(0)
  {
  }
  ~HEmcCalQA() {}
  virtual void clear(void);

  void setAddress(Char_t se, UChar_t ce, Char_t ro, Char_t co);
  void setSector(Char_t s)        {sector = s;}
  void setCell(UChar_t c)         {cell   = c;}
  void setRow(Char_t r)           {row    = r;}
  void setColumn(Char_t c)        {column = c;}

  UChar_t getNfast(void)        const {return nFast;}
  UChar_t getNslow(void)        const {return nSlow;}
  UChar_t getNmatched(void)     const {return nMatched;}
  Char_t  getSector(void)       const {return sector;}
  UChar_t getCell(void)         const {return cell;}
  Char_t  getRow(void)          const {return row;}
  Char_t  getColumn(void)       const {return column;}

  void addFastHit(Float_t time, Float_t width);
  void addFastHit(const HEmcHitQA_t & h);
  HEmcHitQA_t getFastHit(UInt_t n) const;
  void addSlowHit(Float_t time, Float_t width);
  void addSlowHit(const HEmcHitQA_t & h);
  HEmcHitQA_t getSlowHit(UInt_t n) const;
  void addMatchedHit(Float_t time, Float_t energy);
  void addMatchedHit(const HEmcHitMatchQA_t & h);
  HEmcHitMatchQA_t getMatchedHit(UInt_t n) const;

  ClassDef(HEmcCalQA,1) //EMC cal data class
};

inline void HEmcCalQA::setAddress(Char_t se, UChar_t ce, Char_t ro, Char_t co) {
  sector = se;
  cell   = ce;
  row    = ro;
  column = co;
}

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