#ifndef PEMTOWERCORRCOLL_HH_ #define PEMTOWERCORRCOLL_HH_ ////////////////////////////////////////////////////////////////////////////////////////////////////// // // Component: PEMTowerCorrColl.hh // Purpose: This class contains PEM offline LERs for every tower applied to CalData energies // // Created: 06/16/03 Beate Heinemann // ///////////////////////////////////////////////////////////////////////////////////////////////////// #include #include #include #include #include //--------------- // C++ Headers -- //--------------- #include "CalorObjects/TowerCorr.hh" #include "Edm/ConstHandle.hh" #include "Edm/Handle.hh" #include "Edm/StorableObject.hh" #include "StorableContainers/ValueVector.hh" //---------------------------------- // Forward Declaration of Classes -- //---------------------------------- class TowerCorr; class PEMTowerCorrColl; // needed for global typedefs //-------------------------------------------------------- // Global typedef's for EDM2 Handles for the collection -- //-------------------------------------------------------- typedef Handle PEMTowerCorrColl_h; typedef ConstHandle PEMTowerCorrColl_ch; class PEMTowerCorrColl : public StorableObject { public: //-------------------------------------------------------------------------- // typedef's for the collection //-------------------------------------------------------------------------- typedef TowerCorr value_type; typedef TowerCorr& reference; typedef const TowerCorr& const_reference; typedef TowerCorr* pointer; typedef const TowerCorr* const_pointer; typedef std::vector TowerCorrVector; typedef TowerCorrVector::iterator iterator; typedef TowerCorrVector::const_iterator const_iterator; //-------------------------------------------------------------------------- // Functions to retrieve the collection from the event //-------------------------------------------------------------------------- enum Error { ERROR, OK }; static Error find(PEMTowerCorrColl_ch & setHandle); static Error find(PEMTowerCorrColl_ch & setHandle, const StorableObject::Selector & selector ); //-------------------------------------------------------------------------- // Constructors //-------------------------------------------------------------------------- // Default constructor : PEMTowerCorrColl(); //Copy constructor : PEMTowerCorrColl(const PEMTowerCorrColl& rhs); //-------------------------------------------------------------------------- // Access to the underlying set of tracks. //-------------------------------------------------------------------------- TowerCorrVector& contents() { return _container.contents(); } const TowerCorrVector& contents() const { return _container.contents(); } //-------------------------------------------------------------------------- // EDM: functions required by StorableObject //-------------------------------------------------------------------------- virtual std::string class_name() const ; virtual Version_t class_version() const; // void Streamer(TBuffer& iobuffer); bool postread(EventRecord* p); bool prewrite(EventRecord* p); bool activate(EventRecord* p); bool deactivate(EventRecord* p); // Destructors virtual void destroy(); virtual void deallocate(); void print(std::ostream& os = std::cout) const; protected: // Destructor virtual ~PEMTowerCorrColl(){}; private: //-------------------------------------------------------------------------- // Private data //-------------------------------------------------------------------------- ValueVector _container; ClassDef(PEMTowerCorrColl, 1) }; #endif // PEMTOWERCORRCOLL_HH_