#ifndef HSTART2HIT_H
#define HSTART2HIT_H
#include "TObject.h"
#define MAXNSTRIP 5
class HStart2Hit : public TObject {
private:
Int_t fModule;
Int_t fStrip;
Int_t fMultiplicity;
Float_t fTime;
Float_t fWidth;
Bool_t fFlag;
Int_t fCorrFlag;
Float_t fResolution;
Float_t fSimWidth;
Int_t fTrack;
UInt_t fIteration;
Float_t fTime2;
Int_t nFirstCluster;
Int_t nSecondCluster;
Int_t fFirstCluster [MAXNSTRIP];
Int_t fSecondCluster[MAXNSTRIP];
public:
HStart2Hit(void);
~HStart2Hit(void) {}
void setFlag (const Bool_t f) { fFlag = f;}
void setCorrFlag (const Int_t f) { fCorrFlag = f;}
void setMultiplicity(const Int_t m) { fMultiplicity = m; }
void setAddress (const Int_t m, const Int_t s) { fModule = m; fStrip = s; }
void setTimeAndWidth(const Float_t t, const Float_t w) { fTime = t; fWidth = w; }
void setResolution (const Float_t res) { fResolution = res; }
void setSimWidth (const Float_t width) { fSimWidth = width; }
void setTrack (const Int_t t) { fTrack = t; }
void setIteration (const UInt_t it) {fIteration = it;}
Bool_t getFlag (void) const { return fFlag; }
Int_t getCorrFlag (void) const { return fCorrFlag; }
Int_t getModule (void) const { return fModule; }
Int_t getStrip (void) const { return fStrip; }
Int_t getMultiplicity(void) const { return fMultiplicity; }
Float_t getTime (void) const { return fTime; }
Float_t getWidth (void) const { return fWidth; }
void getAddress (Int_t& m , Int_t& s ) { m = fModule; s = fStrip; }
void getTimeAndWidth(Float_t& t, Float_t& w) { t = fTime; w = fWidth; }
Float_t getResolution (void) const { return fResolution; }
Float_t getSimWidth (void) const { return fSimWidth; }
Int_t getTrack (void) const { return fTrack; }
UInt_t getIteration (void) const { return fIteration; }
void setSecondTime(Float_t t) { fTime2 = t; }
Float_t getSecondTime() { return fTime2 ; }
void resetClusterStrip(UInt_t firstOrSecond=2);
Bool_t setClusterStrip (UInt_t firstOrSecond,Int_t stripandhitindex);
Bool_t setClusterStrip (UInt_t firstOrSecond,Int_t stripindex,Int_t hitindex);
Int_t getClusterStrip (UInt_t firstOrSecond,Int_t num);
Int_t getClusterStrip (UInt_t firstOrSecond,Int_t num,Int_t& stripindex,Int_t& hitindex);
Int_t getFirstClusterSize () {return nFirstCluster;}
Int_t getSecondClusterSize() {return nSecondCluster;}
Bool_t getMaxClusterSize() {return MAXNSTRIP;}
ClassDef(HStart2Hit, 6)
};
#endif /* ! HSTART2HIT_H */