#ifndef _MINIPLUGDATA_HH_ #define _MINIPLUGDATA_HH_ #ifdef USE_CDFEDM2 ///////////////////////////////////////////////////////////////////////////////// // MiniplugData.hh // Purpose: Storable object for Miniplug data // // Created: 02/07/00 by Elena Gerchtein /////////////////////////////////////////////////////////////////////////////// #include #include "Edm/StorableObject.hh" #include "Edm/ConstHandle.hh" #include "Edm/Handle.hh" #include "CalorGeometry/MiniplugGeometry.hh" //ROOT headers #include "TBuffer.h" class MiniplugData; class MiniplugTowers; typedef Handle MiniplugData_h; typedef ConstHandle MiniplugData_ch; class MiniplugData : public StorableObject { private: float _dataE[TOWER_NUMBER]; float _dataW[TOWER_NUMBER]; protected: ~MiniplugData(); public: enum Error{ERROR,OK}; // Default constructor. MiniplugData(); // Copy constructor // MiniplugData(const MiniplugData& rhs); // Assignment operator; // MiniplugData& operator=(const MiniplugData& rhs); // EDM stuff static MiniplugData::Error find( MiniplugData_ch& ); // static MiniplugData::Error find( MiniplugData_ch&,const std::string& description); virtual void destroy(void) ; virtual void deallocate(void); virtual std::string class_name(void) const ; virtual Version_t class_version(void) const ; virtual void print(std::ostream& os) const ; virtual bool postread(EventRecord* p_record) ; virtual bool prewrite(EventRecord* p_record) ; virtual bool activate(EventRecord* p_record); virtual bool deactivate(EventRecord* p_record); // Accessors and modifiers void addTowerEn( int we, int type, float value) { if (we == 0) { _dataE[type]=_dataE[type]+value; } else { _dataW[type]=_dataW[type]+value; } } float getEnergy(int we, int type) const { if (we == 0) { return _dataW[type]; } else { return _dataE[type]; } } float getSumEnergy(int we, int type) const{ float energy = 0.; if (we == 0) { for (int tower=TOWER_TO_SUM[type][0];tower