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-2026 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef TRIGBUNCHCROSSINGTOOL_TRIGCONFBUNCHCROSSINGTOOL_H
8#define TRIGBUNCHCROSSINGTOOL_TRIGCONFBUNCHCROSSINGTOOL_H
9
10// Gaudi/Athena include(s):
11#ifndef XAOD_STANDALONE
12# include "GaudiKernel/ServiceHandle.h"
13#endif // not XAOD_STANDALONE
14#include "AsgTools/ToolHandle.h"
15
16// Trigger include(s):
17#ifndef XAOD_STANDALONE
19#endif // not XAOD_STANDALONE
21
22// Local include(s):
25
26namespace Trig {
27
46
51
52 public:
54 TrigConfBunchCrossingTool( const std::string& name =
55 "TrigConfBunchCrossingTool" );
56
58 virtual StatusCode initialize();
59
61 virtual configid_type configID() const;
63 virtual std::vector< float > configuredIntensitiesBeam1() const;
65 virtual std::vector< float > configuredIntensitiesBeam2() const;
67 virtual std::vector< float > configuredUnpairedIntensitiesBeam1() const;
69 virtual std::vector< float > configuredUnpairedIntensitiesBeam2() const;
70
71 protected:
73 virtual StatusCode beginEvent();
74
75 private:
77 StatusCode loadConfig();
79 void printBunchGroups( const TrigConf::IILVL1ConfigSvc* svc ) const;
80
82 unsigned int m_bgId{0};
83
84#ifndef XAOD_STANDALONE
87 this, "ConfigSvc", "TrigConf::xAODConfigSvc/xAODConfigSvc"};
88#endif // not XAOD_STANDALONE
89
91 ToolHandle<TrigConf::ITrigConfigTool> m_configTool{
92 this, "ConfigTool", "TrigConf::xAODConfigTool"};
93 }; // class TrigConfBunchCrossingTool
94
95} // namespace Trig
96
97#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.
ToolHandle< TrigConf::ITrigConfigTool > m_configTool
The config tool handle.
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.
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.
ServiceHandle< TrigConf::ILVL1ConfigSvc > m_configSvc
The config service 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.