00001 #ifndef XAOD_ANALYSIS
00002 #pragma once
00003 #ifndef TRIGSTEERINGEVENT_PARTIALEVENTBUILDINGINFO_H
00004 #define TRIGSTEERINGEVENT_PARTIALEVENTBUILDINGINFO_H
00005 #include <set>
00006 #include <vector>
00007 #include "CLIDSvc/CLASS_DEF.h"
00008 #include "eformat/SourceIdentifier.h"
00009
00010 class PartialEventBuildingInfo {
00011 public:
00012 PartialEventBuildingInfo();
00013 ~PartialEventBuildingInfo();
00017 void add( uint32_t rob_id );
00018
00022 void add( const std::vector<uint32_t>& rob_ids );
00023
00028 void get( std::vector<uint32_t>& rob_ids ) const;
00029
00030
00031
00035 void addROB( uint32_t rob_id );
00036
00040 void addROBs( const std::vector<uint32_t>& rob_ids );
00041
00046 void getROBs( std::vector<uint32_t>& rob_ids ) const;
00047
00050 const std::set<uint32_t>& getROBs() const;
00051
00055 void addSubDetector( eformat::SubDetector id );
00056 void addSubDetector( std::vector<eformat::SubDetector> id );
00057 void addSubDetector( eformat::SubDetectorGroup id );
00058
00063 void getSubDetectors( std::vector<eformat::SubDetector>& ids ) const;
00064
00065
00069 const std::set<uint32_t>& getSubDetectors( ) const;
00070
00074 void clear();
00075
00079 void merge(const PartialEventBuildingInfo& peb);
00080
00081
00082 private:
00083 std::set<uint32_t> m_robs;
00084 std::set<uint32_t> m_subDetectors;
00085 };
00086
00087
00088
00089
00090 #endif
00091 #endif //XAOD_ANALYSIS