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<FPGATrackSimRoad> & roads_1st) { roads_1st = m_FPGATrackSimRoads_1st; }
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<FPGATrackSimRoad> & roads_1st) {
26 for ( auto& r : roads_1st) {
27 m_FPGATrackSimRoads_1st.push_back(r);
28 m_FPGATrackSimRoads_1st.back().persistifyHits();
29 }
30 }
31
32 // Second Stage FPGATrackSim Roads
33 void getFPGATrackSimRoads_2nd(std::vector<FPGATrackSimRoad> & roads_2nd) { roads_2nd = m_FPGATrackSimRoads_2nd; }
34 const std::vector<FPGATrackSimRoad>& getFPGATrackSimRoads_2nd() const { return m_FPGATrackSimRoads_2nd; }
35 size_t nFPGATrackSimRoads_2nd() const { return m_FPGATrackSimRoads_2nd.size(); }
36 void reserveFPGATrackSimRoads_2nd(size_t size) { m_FPGATrackSimRoads_2nd.reserve(size); }
37 void addFPGATrackSimRoads_2nd(const std::vector<FPGATrackSimRoad> & roads_2nd) {
38 for ( auto& r : roads_2nd) {
39 m_FPGATrackSimRoads_2nd.push_back(r);
40 m_FPGATrackSimRoads_2nd.back().persistifyHits();
41 }
42 }
43
44 // First Stage FPGATrackSim Tracks
45 std::vector<FPGATrackSimTrack> const& getFPGATrackSimTracks_1st() const { return m_FPGATrackSimTracks_1st; }
46 size_t nFPGATrackSimTracks_1st() const { return m_FPGATrackSimTracks_1st.size(); }
47 void reserveFPGATrackSimTracks_1st(size_t size) { m_FPGATrackSimTracks_1st.reserve(size); }
48 void addFPGATrackSimTracks_1st(std::vector<FPGATrackSimTrack> const& tracks_1st) {
49 m_FPGATrackSimTracks_1st = tracks_1st;
50 for (auto& t : m_FPGATrackSimTracks_1st) t.persistifyHits();
51 }
52
53 // Second Stage FPGATrackSim Tracks
54 std::vector<FPGATrackSimTrack> const& getFPGATrackSimTracks_2nd() const { return m_FPGATrackSimTracks_2nd; }
55 size_t nFPGATrackSimTracks_2nd() const { return m_FPGATrackSimTracks_2nd.size(); }
56 void reserveFPGATrackSimTracks_2nd(size_t size) { m_FPGATrackSimTracks_2nd.reserve(size); }
57 void addFPGATrackSimTracks_2nd(std::vector<FPGATrackSimTrack> const& tracks_2nd) {
58 m_FPGATrackSimTracks_2nd = tracks_2nd;
59 for (auto& t : m_FPGATrackSimTracks_2nd) t.persistifyHits();
60 }
61
62 // Data Flow Information
65
66private:
67
68 std::vector<FPGATrackSimRoad> m_FPGATrackSimRoads_1st;
69 std::vector<FPGATrackSimRoad> m_FPGATrackSimRoads_2nd;
70 std::vector<FPGATrackSimTrack> m_FPGATrackSimTracks_1st;
71 std::vector<FPGATrackSimTrack> m_FPGATrackSimTracks_2nd;
72
74
76};
77
78std::ostream& operator<<(std::ostream& s, FPGATrackSimLogicalEventOutputHeader const& h);
79
80#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 getFPGATrackSimRoads_2nd(std::vector< FPGATrackSimRoad > &roads_2nd)
void addFPGATrackSimRoads_2nd(const std::vector< 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< FPGATrackSimRoad > &roads_1st)
std::vector< FPGATrackSimTrack > const & getFPGATrackSimTracks_2nd() const
void addFPGATrackSimRoads_1st(const std::vector< FPGATrackSimRoad > &roads_1st)
FPGATrackSimDataFlowInfo const & getDataFlowInfo() const
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