#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;       
  UChar_t cell;         
  Char_t  row;          
  Char_t  column;       
  UInt_t  nFast;
  UInt_t  nSlow;
  UInt_t  nMatched;
  HEmcHitQA_t fast[NTIMESEMCRAW];  
  HEmcHitQA_t slow[NTIMESEMCRAW];  
  HEmcHitMatchQA_t matched[NTIMESEMCRAW]; 
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) 
};
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 */