00001 00002 // ************************************************************************** 00003 // * * 00004 // * ! ! ! A T T E N T I O N ! ! ! * 00005 // * * 00006 // * This file was created automatically by GaudiObjDesc, please do not * 00007 // * delete it or edit it by hand. * 00008 // * * 00009 // * If you want to change this file, first change the corresponding * 00010 // * xml-file and rerun the tools from GaudiObjDesc (or run make if you * 00011 // * are using it from inside a Gaudi-package). * 00012 // * * 00013 // ************************************************************************** 00014 00015 #ifndef SimEvent_SimRpcHit_H 00016 #define SimEvent_SimRpcHit_H 1 00017 00018 // Include files 00019 #include "SimTrackReference.h" 00020 #include "CLHEP/Vector/ThreeVector.h" 00021 #include "Event/SimHit.h" 00022 #include "GaudiKernel/boost_allocator.h" 00023 #include <ostream> 00024 00025 // Forward declarations 00026 00027 namespace DayaBay 00028 { 00029 00030 // Forward declarations 00031 class SimHitCollection; 00032 00033 00043 class SimRpcHit: public SimHit 00044 { 00045 public: 00046 00048 SimRpcHit() : m_energyDep(0.0) {} 00049 00051 virtual ~SimRpcHit() {} 00052 00054 virtual std::ostream& fillStream(std::ostream& s) const; 00055 00058 double energyDep() const; 00059 00062 void setEnergyDep(double value); 00063 00064 00065 #ifndef GOD_NOALLOC 00067 static void* operator new ( size_t size ) 00068 { 00069 return ( sizeof(SimRpcHit) == size ? 00070 boost::singleton_pool<SimRpcHit, sizeof(SimRpcHit)>::malloc() : 00071 ::operator new(size) ); 00072 } 00073 00077 static void* operator new ( size_t size, void* pObj ) 00078 { 00079 return ::operator new (size,pObj); 00080 } 00081 00083 static void operator delete ( void* p ) 00084 { 00085 boost::singleton_pool<SimRpcHit, sizeof(SimRpcHit)>::is_from(p) ? 00086 boost::singleton_pool<SimRpcHit, sizeof(SimRpcHit)>::free(p) : 00087 ::operator delete(p); 00088 } 00089 00092 static void operator delete ( void* p, void* pObj ) 00093 { 00094 ::operator delete (p, pObj); 00095 } 00096 #endif 00097 protected: 00098 00099 private: 00100 00101 double m_energyDep; 00102 00103 }; // class SimRpcHit 00104 00105 inline std::ostream& operator<< (std::ostream& str, const SimRpcHit& obj) 00106 { 00107 return obj.fillStream(str); 00108 } 00109 00110 } // namespace DayaBay; 00111 00112 // ----------------------------------------------------------------------------- 00113 // end of class 00114 // ----------------------------------------------------------------------------- 00115 00116 // Including forward declarations 00117 #include "SimHitCollection.h" 00118 00119 00120 inline std::ostream& DayaBay::SimRpcHit::fillStream(std::ostream& s) const 00121 { 00122 SimHit::fillStream(s); 00123 s << "{ " << "energyDep : " << (float)m_energyDep << std::endl << " }"; 00124 return s; 00125 } 00126 00127 00128 inline double DayaBay::SimRpcHit::energyDep() const 00129 { 00130 return m_energyDep; 00131 } 00132 00133 inline void DayaBay::SimRpcHit::setEnergyDep(double value) 00134 { 00135 m_energyDep = value; 00136 } 00137 00138 00139 #endif