ATLAS Offline Software
Loading...
Searching...
No Matches
TrigConfBunchCrossingTool.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id: TrigConfBunchCrossingTool.h 748399 2016-05-19 14:55:47Z krasznaa $
8#ifndef TRIGBUNCHCROSSINGTOOL_TRIGCONFBUNCHCROSSINGTOOL_H
9#define TRIGBUNCHCROSSINGTOOL_TRIGCONFBUNCHCROSSINGTOOL_H
10
11// Gaudi/Athena include(s):
12#ifndef XAOD_STANDALONE
13# include "GaudiKernel/ServiceHandle.h"
14#endif // not XAOD_STANDALONE
15#include "AsgTools/ToolHandle.h"
16
17// Trigger include(s):
18#ifndef XAOD_STANDALONE
20#endif // not XAOD_STANDALONE
22
23// Local include(s):
26
27namespace Trig {
28
49
54
55 public:
57 TrigConfBunchCrossingTool( const std::string& name =
58 "TrigConfBunchCrossingTool" );
59
61 virtual StatusCode initialize();
62
64 virtual configid_type configID() const;
66 virtual std::vector< float > configuredIntensitiesBeam1() const;
68 virtual std::vector< float > configuredIntensitiesBeam2() const;
70 virtual std::vector< float > configuredUnpairedIntensitiesBeam1() const;
72 virtual std::vector< float > configuredUnpairedIntensitiesBeam2() const;
73
74 protected:
76 virtual StatusCode beginEvent();
77
78 private:
80 StatusCode loadConfig();
82 void printBunchGroups( const TrigConf::IILVL1ConfigSvc* svc ) const;
83
85 unsigned int m_bgId;
86
87#ifndef XAOD_STANDALONE
90#endif // not XAOD_STANDALONE
91
93 ToolHandle< TrigConf::ITrigConfigTool > m_configTool;
94
95 }; // class TrigConfBunchCrossingTool
96
97} // namespace Trig
98
99#endif // TRIGBUNCHCROSSINGTOOL_TRIGCONFBUNCHCROSSINGTOOL_H
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Interface for all services/tools that provide LVL1 menu configuration information.
Common implementation of the IBunchCrossingConfProvider interface.
BunchCrossingToolBase(const std::string &name="BunchCrossingToolBase")
Default constructor.
Inteface for providing the bunch structure information.
unsigned int configid_type
Declare the interface that this class provides.
Interface for all the bunch crossing tools.
The trigger config implementation of IBunchCrossingTool.
virtual std::vector< float > configuredUnpairedIntensitiesBeam1() const
Override the default implementation because this tool doesn't provide this info.
void printBunchGroups(const TrigConf::IILVL1ConfigSvc *svc) const
Print the "raw" configuration for debugging.
unsigned int m_bgId
DB ID of the BunchGroups settings which was loaded last.
StatusCode loadConfig()
Make sure that the latest/correct configuration is loaded.
virtual std::vector< float > configuredIntensitiesBeam1() const
Override the default implementation because this tool doesn't provide this info.
virtual configid_type configID() const
Unique identifier for the current configuration.
virtual std::vector< float > configuredIntensitiesBeam2() const
Override the default implementation because this tool doesn't provide this info.
ServiceHandle< TrigConf::ILVL1ConfigSvc > m_configSvc
The config service handle.
virtual StatusCode beginEvent()
Function called when a new event is loaded.
virtual std::vector< float > configuredUnpairedIntensitiesBeam2() const
Override the default implementation because this tool doesn't provide this info.
ToolHandle< TrigConf::ITrigConfigTool > m_configTool
The config tool handle.
virtual ASG_TOOL_CLASS2(TrigConfBunchCrossingTool, Trig::IBunchCrossingTool, Trig::IBunchCrossingConfProvider) public StatusCode initialize()
Create a proper constructor for Athena.
The common trigger namespace for trigger analysis tools.