ATLAS Offline Software
Loading...
Searching...
No Matches
T2TrackBeamSpotTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGT2BEAMSPOT_T2TRACKBEAMSPOTTOOL_H
6#define TRIGT2BEAMSPOT_T2TRACKBEAMSPOTTOOL_H
7
8#include <vector>
9
10// base class
12
13//Athena tools
14#include "GaudiKernel/EventIDBase.h"
15#include "GaudiKernel/ToolHandle.h"
16#include "TrkTrack/Track.h"
17#include "T2BSTrackFilterTool.h"
18
19//Monitoring tool
21
22
23namespace PESA {
24
25class T2Track;
26
28public:
29
31
32 T2TrackBeamSpotTool(const std::string& type, const std::string& name, const IInterface* parent);
34
35 StatusCode initialize() final;
36
42 void updateBS(const TrackCollection& tracks, EventIDBase const& eventID) const;
43
45
51 void updateBS(std::vector<const Trk::Track*>&& tracks, unsigned bcid) const;
52
60 void updateBS(std::vector<TrackData>&& tracks) const;
61
62
66
67 ToolHandle<T2BSTrackFilterTool> m_trackFilterTool{this, "TrackFilter", "PESA::T2BSTrackFilterTool/T2BSTrackFilterTool" };
68 ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "", "Monitoring tool"};
69};
70
71} // namespace PESA
72
73#endif // TRIGT2BEAMSPOT_T2TRACKBEAMSPOTTOOL_H
Header file to be included by clients of the Monitored infrastructure.
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
ToolHandle< T2BSTrackFilterTool > m_trackFilterTool
ToolHandle< GenericMonitoringTool > m_monTool
void updateBS(const TrackCollection &tracks, EventIDBase const &eventID) const
Update beam spot data with new track information.
T2TrackBeamSpotTool(const std::string &type, const std::string &name, const IInterface *parent)
T2BSTrackFilterTool::TrackData TrackData
Local tools.
Definition idx.h:9
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.
Class which holds track parameters.
#define private