ATLAS Offline Software
Loading...
Searching...
No Matches
FPGATrackSimLogicalEventOutputHeader.h
Go to the documentation of this file.
1// Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3#ifndef TRIGFPGATrackSimOBJECTS_FPGATrackSimLOGICALEVENTOUTPUTHEADER_H
4#define TRIGFPGATrackSimOBJECTS_FPGATrackSimLOGICALEVENTOUTPUTHEADER_H
5
10#include <TObject.h>
11
13public:
14
17
18 void reset(); //reset per event variables
19
20 // First Stage FPGATrackSim Roads
21 void getFPGATrackSimRoads_1st(std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads_1st) { roads_1st.reserve(m_FPGATrackSimRoads_1st.size()); for ( auto& r : m_FPGATrackSimRoads_1st) roads_1st.emplace_back(std::make_shared<const FPGATrackSimRoad>(r)); }
22 const std::vector<FPGATrackSimRoad>& getFPGATrackSimRoads_1st() const { return m_FPGATrackSimRoads_1st; }
23 size_t nFPGATrackSimRoads_1st() const { return m_FPGATrackSimRoads_1st.size(); }
24 void reserveFPGATrackSimRoads_1st(size_t size) { m_FPGATrackSimRoads_1st.reserve(size); }
25 void addFPGATrackSimRoads_1st(const std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads_1st) { for ( auto& r : roads_1st) m_FPGATrackSimRoads_1st.push_back(*r); }
26
27 // Second Stage FPGATrackSim Roads
28 void getFPGATrackSimRoads_2nd(std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads_2nd) { roads_2nd.reserve(m_FPGATrackSimRoads_2nd.size()); for ( auto& r : m_FPGATrackSimRoads_2nd) roads_2nd.emplace_back(std::make_shared<const FPGATrackSimRoad>(r)); }
29 const std::vector<FPGATrackSimRoad>& getFPGATrackSimRoads_2nd() const { return m_FPGATrackSimRoads_2nd; }
30 size_t nFPGATrackSimRoads_2nd() const { return m_FPGATrackSimRoads_2nd.size(); }
31 void reserveFPGATrackSimRoads_2nd(size_t size) { m_FPGATrackSimRoads_2nd.reserve(size); }
32 void addFPGATrackSimRoads_2nd(const std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads_2nd) { for ( auto& r : roads_2nd) m_FPGATrackSimRoads_2nd.push_back(*r); }
33
34 // First Stage FPGATrackSim Tracks
35 std::vector<FPGATrackSimTrack> const& getFPGATrackSimTracks_1st() const { return m_FPGATrackSimTracks_1st; }
36 size_t nFPGATrackSimTracks_1st() const { return m_FPGATrackSimTracks_1st.size(); }
37 void reserveFPGATrackSimTracks_1st(size_t size) { m_FPGATrackSimTracks_1st.reserve(size); }
38 void addFPGATrackSimTracks_1st(std::vector<FPGATrackSimTrack> const& tracks_1st) { m_FPGATrackSimTracks_1st = tracks_1st; }
39
40 // Second Stage FPGATrackSim Tracks
41 std::vector<FPGATrackSimTrack> const& getFPGATrackSimTracks_2nd() const { return m_FPGATrackSimTracks_2nd; }
42 size_t nFPGATrackSimTracks_2nd() const { return m_FPGATrackSimTracks_2nd.size(); }
43 void reserveFPGATrackSimTracks_2nd(size_t size) { m_FPGATrackSimTracks_2nd.reserve(size); }
44 void addFPGATrackSimTracks_2nd(std::vector<FPGATrackSimTrack> const& tracks_2nd) { m_FPGATrackSimTracks_2nd = tracks_2nd; }
45
46 // Data Flow Information
49
50private:
51
52 std::vector<FPGATrackSimRoad> m_FPGATrackSimRoads_1st;
53 std::vector<FPGATrackSimRoad> m_FPGATrackSimRoads_2nd;
54 std::vector<FPGATrackSimTrack> m_FPGATrackSimTracks_1st;
55 std::vector<FPGATrackSimTrack> m_FPGATrackSimTracks_2nd;
56
58
60};
61
62std::ostream& operator<<(std::ostream& s, FPGATrackSimLogicalEventOutputHeader const& h);
63
64#endif // FPGATrackSimEVENTOUTPUTHEADER_H
Structs that store the data flow information per event.
std::ostream & operator<<(std::ostream &s, FPGATrackSimLogicalEventOutputHeader const &h)
Defines a class for roads.
Header file for AthHistogramAlgorithm.
void addFPGATrackSimRoads_2nd(const std::vector< std::shared_ptr< const FPGATrackSimRoad > > &roads_2nd)
const std::vector< FPGATrackSimRoad > & getFPGATrackSimRoads_1st() const
void addFPGATrackSimTracks_2nd(std::vector< FPGATrackSimTrack > const &tracks_2nd)
std::vector< FPGATrackSimTrack > const & getFPGATrackSimTracks_1st() const
void setDataFlowInfo(FPGATrackSimDataFlowInfo const &info)
void getFPGATrackSimRoads_1st(std::vector< std::shared_ptr< const FPGATrackSimRoad > > &roads_1st)
std::vector< FPGATrackSimTrack > const & getFPGATrackSimTracks_2nd() const
FPGATrackSimDataFlowInfo const & getDataFlowInfo() const
void addFPGATrackSimRoads_1st(const std::vector< std::shared_ptr< const FPGATrackSimRoad > > &roads_1st)
void getFPGATrackSimRoads_2nd(std::vector< std::shared_ptr< const FPGATrackSimRoad > > &roads_2nd)
ClassDefNV(FPGATrackSimLogicalEventOutputHeader, 5)
void addFPGATrackSimTracks_1st(std::vector< FPGATrackSimTrack > const &tracks_1st)
const std::vector< FPGATrackSimRoad > & getFPGATrackSimRoads_2nd() const
int r
Definition globals.cxx:22