// ESAF : Euso Simulation and Analysis Framework // class MacroCellHit // $Id: MacroCellHit.hh,v 1.10 2005/09/22 12:13:11 naumov Exp $ // M.Pallavicini - created #ifndef _MACROCELLHIT_H_ #define _MACROCELLHIT_H_ #include "EusoMapping.hh" typedef Int_t ChannelUniqueId; class MacroCellHit { private: // dummy empty ctor needed by rootcInt_t MacroCellHit() : fRow(-1), fCol(-1), fHits(0), fGtu(-1), fUid(0) {} public: // ctor MacroCellHit(Int_t r, Int_t c, Int_t h, Int_t g, ChannelUniqueId id ) : fRow(r), fCol(c), fHits(h), fGtu(g), fUid(id) {} virtual ~MacroCellHit() {}; virtual void Dump() const; inline void SetHits(Int_t val) {fHits=val;} inline Int_t Hits() const {return fHits;} inline Int_t Row() const {return fRow;} inline Int_t Col() const {return fCol;} inline Int_t Gtu() const {return fGtu;} inline ChannelUniqueId UniqueId() const {return fUid;} inline Double_t GetThetaFOV() const {return EusoMapping::Get()->GetThetaFOV(fUid);} inline Double_t GetPhiFOV() const {return EusoMapping::Get()->GetPhiFOV(fUid);} private: Int_t fRow; Int_t fCol; Int_t fHits; Int_t fGtu; ChannelUniqueId fUid; ClassDef(MacroCellHit,0) }; // contiguity operator // returns true if 2 hits are nearby in space Bool_t operator % (const MacroCellHit&, const MacroCellHit&); #endif