// ESAF : Euso Simulation and Analysis Framework // $Id: EMacroCell.hh,v 1.5 2005/06/03 12:39:50 thea Exp $ // created May, 23 2004 #ifndef __EMACROCELL_HH__ #define __EMACROCELL_HH__ #include "TObject.h" #include "TArrayI.h" #include "Etypes.hh" #include "EFillable.hh" // MacroCell data class EMacroCell : public TObject { public: EMacroCell(); // ctor EMacroCell(const EMacroCell&); // copy ctor virtual ~EMacroCell(); // dtor virtual void Copy( TObject& ) const; // copy this to a new obj virtual void Clear( Option_t* = "" ); // clear data inline Int_t GetMCId() const { return fMCId; } inline Int_t GetNumChips() const { return fNumChips; } inline Int_t GetNumPixels() const { return fNumPixels; } inline Int_t GetNumCounts() const { return fNumCounts; } inline Int_t GetNumFastOrs() const { return fNumFastOrs; } inline Int_t HasTriggered() const { return fHasTriggered; } inline Int_t GetGtuTrigger() const { return fGtuTrigger; } inline Int_t GetTriggerWord() const { return fTriggerWord; } inline TArrayI GetTrgWords() const { return fTrgWords; } inline TArrayI GetTrgIds() const { return fTrgIds; } Int_t GetWord(ETriggerTypeIdentifier) const; inline void SetMCId(Int_t val) {fMCId=val;} inline void SetNumChips(Int_t val) {fNumChips=val;} inline void SetNumPixels(Int_t val) {fNumPixels=val;} inline void SetNumCounts(Int_t val) {fNumCounts=val;} inline void SetNumFastOrs(Int_t val) {fNumFastOrs=val;} inline void SetHasTriggered(Int_t val) {fHasTriggered=val;} inline void SetGtuTrigger(Int_t val) {fGtuTrigger=val;} inline void SetTriggerWord(Int_t val) {fTriggerWord=val;} inline void SetTrgWords(Int_t size, const Int_t *array) {fTrgWords.Set(size,array);} inline void SetTrgIds(Int_t size, const Int_t *array) {fTrgIds.Set(size,array);} ClassDef(EMacroCell,1) private: Int_t fMCId; // macroCell id Int_t fNumChips; // number of front end chips giving signal Int_t fNumPixels; // number of pixels with at least one photon Int_t fNumCounts; // number of counts detected by chips (not necessarily mCell) Int_t fNumFastOrs; // number of fast or counts detected by macroCell Int_t fHasTriggered; // trigger condition occured Int_t fGtuTrigger; // gtu number when trigger occurred Int_t fTriggerWord; // trigger engine identifier word (bitfield) //specific trigger words for engines running multiple configurations TArrayI fTrgWords; // trigger words TArrayI fTrgIds; // corresponding trigger ids SetEVisitable() }; #endif /* __EMACROCELL_HH__ */