#ifndef _TOWER_CORR_HH_ #define _TOWER_CORR_HH_ ///////////////////////////////////////////////////////////////////////////////////////////////// // // Component: TowerCorr.hh // Purpose: This class has a correction for a given tower // // Created: 06/16/03 Pierre Savard // //////////////////////////////////////////////////////////////////////////////////////////////////// #include #include #include "Edm/Link.hh" #include "Rtypes.h" class TBuffer ; class EventRecord ; // namespace calor class TowerCorr { public: TowerCorr() : _type('u'),_corFactor(1.0),_iEta(0),_iPhi(0) { } ~TowerCorr(){} TowerCorr(unsigned char type, size_t iEta, size_t iPhi, float corr) : _type(type), _iEta(iEta), _iPhi(iPhi), _corFactor(corr) { } friend bool operator == (const TowerCorr& rhs, const TowerCorr& lhs); friend bool operator != (const TowerCorr& rhs, const TowerCorr& lhs) { return(! (rhs == lhs) ) ; } unsigned char type() const { return(_type) ; } float correction() const { return(_corFactor) ; } size_t iEta() const { return(_iEta) ; } size_t iPhi() const { return(_iPhi) ; } public: void print(std::ostream& os = std::cout) const ; void Streamer (TBuffer & buf); static Version_t class_version() { return _VERSION;} private: unsigned char _type; // type of tower size_t _iEta; size_t _iPhi; float _corFactor; // the corr factor static const Version_t _VERSION; }; // class TowerCorr // } // namespace calor std::ostream& operator<<(std::ostream& os, const TowerCorr& tc) ; #endif // _TOWER_CORR_HH_