00001
00002
00003 #ifndef XAODTRIGGERCNV_TRIGGERMENUMETADATATOOL_H
00004 #define XAODTRIGGERCNV_TRIGGERMENUMETADATATOOL_H
00005
00006
00007 #include <string>
00008 #include <memory>
00009
00010
00011 #include "AsgTools/AsgMetadataTool.h"
00012 #ifdef ASGTOOL_ATHENA
00013 # include "AthenaPoolKernel/IMetaDataTool.h"
00014 #endif // ASGTOOL_ATHENA
00015
00016
00017 #include "xAODTrigger/TriggerMenuContainer.h"
00018 #include "xAODTrigger/TriggerMenuAuxContainer.h"
00019
00020 namespace xAODMaker {
00021
00032 class TriggerMenuMetaDataTool : public asg::AsgMetadataTool
00033 #ifdef ASGTOOL_ATHENA
00034 , public virtual ::IMetaDataTool
00035 #endif // ASGTOOL_ATHENA
00036 {
00037
00039 ASG_TOOL_CLASS0( TriggerMenuMetaDataTool )
00040
00041 public:
00043 TriggerMenuMetaDataTool( const std::string& name =
00044 "TriggerMenuMetaDataTool" );
00045
00047 virtual StatusCode initialize();
00048
00049 protected:
00052
00055 virtual StatusCode beginInputFile();
00056
00058 virtual StatusCode beginEvent();
00059
00061 virtual StatusCode metaDataStop();
00062
00064
00065 private:
00067 std::string m_inputKey;
00069 std::string m_outputKey;
00070
00072 std::unique_ptr< xAOD::TriggerMenuContainer > m_menu;
00074 std::unique_ptr< xAOD::TriggerMenuAuxContainer > m_menuAux;
00075
00078 bool m_beginFileIncidentSeen;
00079
00080 };
00081
00082 }
00083
00084 #endif // XAODTRIGGERCNV_TRIGGERMENUMETADATATOOL_H