00001
00002
00003 #ifndef TRIGCONFXAOD_XAODMENUWRITER_H
00004 #define TRIGCONFXAOD_XAODMENUWRITER_H
00005
00006
00007 extern "C" {
00008 # include <stdint.h>
00009 }
00010 #include <string>
00011 #include <set>
00012 #include <map>
00013
00014
00015 #include "AthenaBaseComps/AthAlgorithm.h"
00016 #include "GaudiKernel/ServiceHandle.h"
00017 #include "StoreGate/StoreGateSvc.h"
00018
00019
00020 #include "TrigConfInterfaces/ITrigConfigSvc.h"
00021
00022
00023 #include "xAODTrigger/TriggerMenuContainer.h"
00024
00025 namespace TrigConf {
00026
00044 class xAODMenuWriter : public AthAlgorithm {
00045
00046 public:
00048 xAODMenuWriter( const std::string& name, ISvcLocator* svcLoc );
00049
00051 virtual StatusCode initialize();
00052
00054 virtual StatusCode execute();
00055
00056 private:
00058 std::string m_eventName;
00060 std::string m_metaName;
00062 bool m_overwriteEventObj;
00063
00065 ServiceHandle< TrigConf::ITrigConfigSvc > m_trigConf;
00067 ServiceHandle< StoreGateSvc > m_metaStore;
00068
00070 xAOD::TriggerMenuContainer* m_tmc;
00071
00073 typedef std::pair< uint32_t, std::pair< uint32_t, uint32_t > > TrigKey_t;
00074
00076 std::set< TrigKey_t > m_convertedKeys;
00077
00078 };
00079
00080 }
00081
00082 #endif // TRIGCONFXAOD_XAODMENUWRITER_H