/search.css" rel="stylesheet" type="text/css"/> /search.js">
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 RecEvent_RecRpcTrigger_H 00016 #define RecEvent_RecRpcTrigger_H 1 00017 00018 // Include files 00019 #include "Event/RecRpcCluster.h" 00020 #include "Event/RecRpcTrack.h" 00021 #include "Conventions/Detectors.h" 00022 #include "Context/TimeStamp.h" 00023 #include "Conventions/Trigger.h" 00024 #include "GaudiKernel/boost_allocator.h" 00025 #include "GaudiKernel/SerializeSTL.h" 00026 #include <ostream> 00027 00028 // Forward declarations 00029 00030 namespace DayaBay 00031 { 00032 00033 // Forward declarations 00034 class RecRpcHeader; 00035 using GaudiUtils::operator<<; 00036 00037 00047 class RecRpcTrigger 00048 { 00049 public: 00050 00052 RecRpcTrigger(const RecRpcTrigger& obj); 00053 00055 RecRpcTrigger() : m_detector(0), 00056 m_triggerNumber(0), 00057 m_triggerTime(0), 00058 m_triggerType(DayaBay::Trigger::kUnknown), 00059 m_combinationType(0), 00060 m_eventType(0), 00061 m_clusters(), 00062 m_tracks(), 00063 m_header(0) {} 00064 00066 virtual ~RecRpcTrigger(); 00067 00069 virtual std::ostream& fillStream(std::ostream& s) const; 00070 00072 RecRpcTrigger& operator=(const RecRpcTrigger& obj); 00073 00075 unsigned int combinationType() const; 00076 00078 const DayaBay::RecRpcCluster* getCluster(int index) const; 00079 00081 void addCluster(const DayaBay::RecRpcCluster* cluster); 00082 00084 int numCluster() const; 00085 00087 const DayaBay::RecRpcTrack& getTrack(int index) const; 00088 00090 void addTrack(const DayaBay::RecRpcTrack& track); 00091 00093 int numTrack() const; 00094 00096 int maxHitsInLayer() const; 00097 00099 bool is4of4() const; 00100 00103 const DayaBay::Detector& detector() const; 00104 00107 void setDetector(const DayaBay::Detector& value); 00108 00111 unsigned int triggerNumber() const; 00112 00115 void setTriggerNumber(unsigned int value); 00116 00119 const TimeStamp& triggerTime() const; 00120 00123 void setTriggerTime(const TimeStamp& value); 00124 00127 const DayaBay::Trigger::TriggerType_t& triggerType() const; 00128 00131 void setTriggerType(const DayaBay::Trigger::TriggerType_t& value); 00132 00135 unsigned int eventType() const; 00136 00139 void setEventType(unsigned int value); 00140 00143 const std::vector<const DayaBay::RecRpcCluster*>& clusters() const; 00144 00147 const std::vector<DayaBay::RecRpcTrack>& tracks() const; 00148 00151 const DayaBay::RecRpcHeader* header() const; 00152 00155 void setHeader(DayaBay::RecRpcHeader* value); 00156 00157 00158 #ifndef GOD_NOALLOC 00159 00160 static void* operator new ( size_t size ) 00161 { 00162 return ( sizeof(RecRpcTrigger) == size ? 00163 boost::singleton_pool<RecRpcTrigger, sizeof(RecRpcTrigger)>::malloc() : 00164 ::operator new(size) ); 00165 } 00166 00170 static void* operator new ( size_t size, void* pObj ) 00171 { 00172 return ::operator new (size,pObj); 00173 } 00174 00176 static void operator delete ( void* p ) 00177 { 00178 boost::singleton_pool<RecRpcTrigger, sizeof(RecRpcTrigger)>::is_from(p) ? 00179 boost::singleton_pool<RecRpcTrigger, sizeof(RecRpcTrigger)>::free(p) : 00180 ::operator delete(p); 00181 } 00182 00185 static void operator delete ( void* p, void* pObj ) 00186 { 00187 ::operator delete (p, pObj); 00188 } 00189 #endif 00190 protected: 00191 00192 private: 00193 00194 DayaBay::Detector m_detector; 00195 unsigned int m_triggerNumber; 00196 TimeStamp m_triggerTime; 00197 DayaBay::Trigger::TriggerType_t m_triggerType; 00198 unsigned int m_combinationType; 00199 unsigned int m_eventType; 00200 std::vector<const DayaBay::RecRpcCluster*> m_clusters; 00201 std::vector<DayaBay::RecRpcTrack> m_tracks; 00202 DayaBay::RecRpcHeader* m_header; 00203 00204 }; // class RecRpcTrigger 00205 00206 inline std::ostream& operator<< (std::ostream& str, const RecRpcTrigger& obj) 00207 { 00208 return obj.fillStream(str); 00209 } 00210 00211 } // namespace DayaBay; 00212 00213 // ----------------------------------------------------------------------------- 00214 // end of class 00215 // ----------------------------------------------------------------------------- 00216 00217 // Including forward declarations 00218 #include "RecRpcHeader.h" 00219 00220 00221 inline std::ostream& DayaBay::RecRpcTrigger::fillStream(std::ostream& s) const 00222 { 00223 s << "{ " << "detector : " << m_detector << std::endl 00224 << "triggerNumber : " << m_triggerNumber << std::endl 00225 << "triggerTime : " << m_triggerTime << std::endl 00226 << "triggerType : " << m_triggerType << std::endl 00227 << "combinationType : " << m_combinationType << std::endl 00228 << "eventType : " << m_eventType << std::endl 00229 << "clusters : " << m_clusters << std::endl 00230 << "tracks : " << m_tracks << std::endl 00231 << "header : " << m_header << std::endl << " }"; 00232 return s; 00233 } 00234 00235 00236 inline const DayaBay::Detector& DayaBay::RecRpcTrigger::detector() const 00237 { 00238 return m_detector; 00239 } 00240 00241 inline void DayaBay::RecRpcTrigger::setDetector(const DayaBay::Detector& value) 00242 { 00243 m_detector = value; 00244 } 00245 00246 inline unsigned int DayaBay::RecRpcTrigger::triggerNumber() const 00247 { 00248 return m_triggerNumber; 00249 } 00250 00251 inline void DayaBay::RecRpcTrigger::setTriggerNumber(unsigned int value) 00252 { 00253 m_triggerNumber = value; 00254 } 00255 00256 inline const TimeStamp& DayaBay::RecRpcTrigger::triggerTime() const 00257 { 00258 return m_triggerTime; 00259 } 00260 00261 inline void DayaBay::RecRpcTrigger::setTriggerTime(const TimeStamp& value) 00262 { 00263 m_triggerTime = value; 00264 } 00265 00266 inline const DayaBay::Trigger::TriggerType_t& DayaBay::RecRpcTrigger::triggerType() const 00267 { 00268 return m_triggerType; 00269 } 00270 00271 inline void DayaBay::RecRpcTrigger::setTriggerType(const DayaBay::Trigger::TriggerType_t& value) 00272 { 00273 m_triggerType = value; 00274 } 00275 00276 inline unsigned int DayaBay::RecRpcTrigger::eventType() const 00277 { 00278 return m_eventType; 00279 } 00280 00281 inline void DayaBay::RecRpcTrigger::setEventType(unsigned int value) 00282 { 00283 m_eventType = value; 00284 } 00285 00286 inline const std::vector<const DayaBay::RecRpcCluster*>& DayaBay::RecRpcTrigger::clusters() const 00287 { 00288 return m_clusters; 00289 } 00290 00291 inline const std::vector<DayaBay::RecRpcTrack>& DayaBay::RecRpcTrigger::tracks() const 00292 { 00293 return m_tracks; 00294 } 00295 00296 inline const DayaBay::RecRpcHeader* DayaBay::RecRpcTrigger::header() const 00297 { 00298 return m_header; 00299 } 00300 00301 inline void DayaBay::RecRpcTrigger::setHeader(DayaBay::RecRpcHeader* value) 00302 { 00303 m_header = value; 00304 } 00305 00306 00307 #endif ///RecEvent_RecRpcTrigger_H