ATLAS Offline Software
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 
12 class FPGATrackSimLogicalEventOutputHeader : public TObject {
13 public:
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.reserve(m_FPGATrackSimRoads_1st.size()); for ( auto& r : m_FPGATrackSimRoads_1st) roads_1st.push_back(&r); }
22  size_t nFPGATrackSimRoads_1st() const { return m_FPGATrackSimRoads_1st.size(); }
24  void addFPGATrackSimRoads_1st(std::vector<FPGATrackSimRoad*> const& roads_1st) { for ( auto& r : roads_1st) m_FPGATrackSimRoads_1st.push_back(*r); }
25 
26  // Second Stage FPGATrackSim Roads
27  void getFPGATrackSimRoads_2nd(std::vector<FPGATrackSimRoad*>& roads_2nd) { roads_2nd.reserve(m_FPGATrackSimRoads_2nd.size()); for ( auto& r : m_FPGATrackSimRoads_2nd) roads_2nd.push_back(&r); }
28  size_t nFPGATrackSimRoads_2nd() const { return m_FPGATrackSimRoads_2nd.size(); }
30  void addFPGATrackSimRoads_2nd(std::vector<FPGATrackSimRoad*> const& roads_2nd) { for ( auto& r : roads_2nd) m_FPGATrackSimRoads_2nd.push_back(*r); }
31 
32  // First Stage FPGATrackSim Tracks
33  std::vector<FPGATrackSimTrack> const& getFPGATrackSimTracks_1st() const { return m_FPGATrackSimTracks_1st; }
34  size_t nFPGATrackSimTracks_1st() const { return m_FPGATrackSimTracks_1st.size(); }
36  void addFPGATrackSimTracks_1st(std::vector<FPGATrackSimTrack> const& tracks_1st) { m_FPGATrackSimTracks_1st = tracks_1st; }
37 
38  // Second Stage FPGATrackSim Tracks
39  std::vector<FPGATrackSimTrack> const& getFPGATrackSimTracks_2nd() const { return m_FPGATrackSimTracks_2nd; }
40  size_t nFPGATrackSimTracks_2nd() const { return m_FPGATrackSimTracks_2nd.size(); }
42  void addFPGATrackSimTracks_2nd(std::vector<FPGATrackSimTrack> const& tracks_2nd) { m_FPGATrackSimTracks_2nd = tracks_2nd; }
43 
44  // Data Flow Information
47 
48 private:
49 
50  std::vector<FPGATrackSimRoad> m_FPGATrackSimRoads_1st;
51  std::vector<FPGATrackSimRoad> m_FPGATrackSimRoads_2nd;
52  std::vector<FPGATrackSimTrack> m_FPGATrackSimTracks_1st;
53  std::vector<FPGATrackSimTrack> m_FPGATrackSimTracks_2nd;
54 
56 
58 };
59 
60 std::ostream& operator<<(std::ostream& s, FPGATrackSimLogicalEventOutputHeader const& h);
61 
62 #endif // FPGATrackSimEVENTOUTPUTHEADER_H
grepfile.info
info
Definition: grepfile.py:38
FPGATrackSimLogicalEventOutputHeader::m_FPGATrackSimRoads_1st
std::vector< FPGATrackSimRoad > m_FPGATrackSimRoads_1st
Definition: FPGATrackSimLogicalEventOutputHeader.h:50
beamspotman.r
def r
Definition: beamspotman.py:676
FPGATrackSimLogicalEventOutputHeader::getFPGATrackSimRoads_1st
void getFPGATrackSimRoads_1st(std::vector< FPGATrackSimRoad * > &roads_1st)
Definition: FPGATrackSimLogicalEventOutputHeader.h:21
FPGATrackSimLogicalEventOutputHeader::m_FPGATrackSimTracks_1st
std::vector< FPGATrackSimTrack > m_FPGATrackSimTracks_1st
Definition: FPGATrackSimLogicalEventOutputHeader.h:52
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
FPGATrackSimLogicalEventOutputHeader::nFPGATrackSimRoads_1st
size_t nFPGATrackSimRoads_1st() const
Definition: FPGATrackSimLogicalEventOutputHeader.h:22
FPGATrackSimLogicalEventOutputHeader::reserveFPGATrackSimRoads_1st
void reserveFPGATrackSimRoads_1st(size_t size)
Definition: FPGATrackSimLogicalEventOutputHeader.h:23
FPGATrackSimLogicalEventOutputHeader::reset
void reset()
Definition: FPGATrackSimLogicalEventOutputHeader.cxx:13
FPGATrackSimLogicalEventOutputHeader::nFPGATrackSimRoads_2nd
size_t nFPGATrackSimRoads_2nd() const
Definition: FPGATrackSimLogicalEventOutputHeader.h:28
operator<<
std::ostream & operator<<(std::ostream &s, FPGATrackSimLogicalEventOutputHeader const &h)
Definition: FPGATrackSimLogicalEventOutputHeader.cxx:21
FPGATrackSimLogicalEventOutputHeader::nFPGATrackSimTracks_2nd
size_t nFPGATrackSimTracks_2nd() const
Definition: FPGATrackSimLogicalEventOutputHeader.h:40
FPGATrackSimLogicalEventOutputHeader::getDataFlowInfo
FPGATrackSimDataFlowInfo const & getDataFlowInfo() const
Definition: FPGATrackSimLogicalEventOutputHeader.h:45
FPGATrackSimLogicalEventOutputHeader::~FPGATrackSimLogicalEventOutputHeader
virtual ~FPGATrackSimLogicalEventOutputHeader()
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
FPGATrackSimLogicalEventOutputHeader::addFPGATrackSimTracks_2nd
void addFPGATrackSimTracks_2nd(std::vector< FPGATrackSimTrack > const &tracks_2nd)
Definition: FPGATrackSimLogicalEventOutputHeader.h:42
FPGATrackSimDataFlowInfo
Definition: FPGATrackSimDataFlowInfo.h:18
FPGATrackSimLogicalEventOutputHeader::reserveFPGATrackSimTracks_1st
void reserveFPGATrackSimTracks_1st(size_t size)
Definition: FPGATrackSimLogicalEventOutputHeader.h:35
FPGATrackSimDataFlowInfo.h
Structs that store the data flow information per event.
FPGATrackSimLogicalEventOutputHeader::getFPGATrackSimTracks_1st
std::vector< FPGATrackSimTrack > const & getFPGATrackSimTracks_1st() const
Definition: FPGATrackSimLogicalEventOutputHeader.h:33
FPGATrackSimLogicalEventOutputHeader::m_FPGATrackSimTracks_2nd
std::vector< FPGATrackSimTrack > m_FPGATrackSimTracks_2nd
Definition: FPGATrackSimLogicalEventOutputHeader.h:53
FPGATrackSimLogicalEventOutputHeader::setDataFlowInfo
void setDataFlowInfo(FPGATrackSimDataFlowInfo const &info)
Definition: FPGATrackSimLogicalEventOutputHeader.h:46
FPGATrackSimLogicalEventOutputHeader::getFPGATrackSimRoads_2nd
void getFPGATrackSimRoads_2nd(std::vector< FPGATrackSimRoad * > &roads_2nd)
Definition: FPGATrackSimLogicalEventOutputHeader.h:27
FPGATrackSimLogicalEventOutputHeader::m_dataflowInfo
FPGATrackSimDataFlowInfo m_dataflowInfo
Definition: FPGATrackSimLogicalEventOutputHeader.h:55
FPGATrackSimLogicalEventOutputHeader::ClassDef
ClassDef(FPGATrackSimLogicalEventOutputHeader, 4)
FPGATrackSimLogicalEventOutputHeader::m_FPGATrackSimRoads_2nd
std::vector< FPGATrackSimRoad > m_FPGATrackSimRoads_2nd
Definition: FPGATrackSimLogicalEventOutputHeader.h:51
FPGATrackSimLogicalEventOutputHeader::addFPGATrackSimTracks_1st
void addFPGATrackSimTracks_1st(std::vector< FPGATrackSimTrack > const &tracks_1st)
Definition: FPGATrackSimLogicalEventOutputHeader.h:36
FPGATrackSimLogicalEventOutputHeader::reserveFPGATrackSimTracks_2nd
void reserveFPGATrackSimTracks_2nd(size_t size)
Definition: FPGATrackSimLogicalEventOutputHeader.h:41
h
FPGATrackSimLogicalEventOutputHeader
Definition: FPGATrackSimLogicalEventOutputHeader.h:12
FPGATrackSimRoad.h
Defines a class for roads.
FPGATrackSimLogicalEventOutputHeader::reserveFPGATrackSimRoads_2nd
void reserveFPGATrackSimRoads_2nd(size_t size)
Definition: FPGATrackSimLogicalEventOutputHeader.h:29
FPGATrackSimLogicalEventOutputHeader::addFPGATrackSimRoads_2nd
void addFPGATrackSimRoads_2nd(std::vector< FPGATrackSimRoad * > const &roads_2nd)
Definition: FPGATrackSimLogicalEventOutputHeader.h:30
FPGATrackSimTypes.h
FPGATrackSimLogicalEventOutputHeader::nFPGATrackSimTracks_1st
size_t nFPGATrackSimTracks_1st() const
Definition: FPGATrackSimLogicalEventOutputHeader.h:34
FPGATrackSimLogicalEventOutputHeader::FPGATrackSimLogicalEventOutputHeader
FPGATrackSimLogicalEventOutputHeader()
Definition: FPGATrackSimLogicalEventOutputHeader.h:15
FPGATrackSimLogicalEventOutputHeader::getFPGATrackSimTracks_2nd
std::vector< FPGATrackSimTrack > const & getFPGATrackSimTracks_2nd() const
Definition: FPGATrackSimLogicalEventOutputHeader.h:39
FPGATrackSimTrack.h
FPGATrackSimLogicalEventOutputHeader::addFPGATrackSimRoads_1st
void addFPGATrackSimRoads_1st(std::vector< FPGATrackSimRoad * > const &roads_1st)
Definition: FPGATrackSimLogicalEventOutputHeader.h:24