ATLAS Offline Software
Loading...
Searching...
No Matches
FPGATrackSimLogicalEventInputHeader.h
Go to the documentation of this file.
1// Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3#ifndef TRIGFPGATrackSimOBJECTS_FPGATrackSimLOGICALEVENTINPUTHEADER_H
4#define TRIGFPGATrackSimOBJECTS_FPGATrackSimLOGICALEVENTINPUTHEADER_H
5
6#include <TObject.h>
7
8#include <vector>
9#include <iostream>
10#include <sstream>
11
15
16
19
21{
22public:
23
26
27 void reset() const; //reset per event variables
28
30 FPGATrackSimEventInfo const& event() const { return m_event; }
31
34
35 // handling towers
36 const std::vector<FPGATrackSimTowerInputHeader>& towers() const { return m_towers; }
37 int nTowers() const { return m_towers.size(); }
38 void addTower(const FPGATrackSimTowerInputHeader& s) { m_towers.push_back(s); }
39 FPGATrackSimTowerInputHeader* getTower(size_t index) { return &m_towers[index]; } //get the pointer
40 void reserveTowers(size_t size) { m_towers.reserve(size); }
41 void addTowers(const std::vector<FPGATrackSimTowerInputHeader>& towers) { m_towers = towers; }
42
43private:
45 FPGATrackSimOptionalEventInfo m_optional; // This is only available for 1st stage
46
47 // ROOT I/O object modified in const reset().
48 // - Called from FPGATrackSimOutputHeaderTool::writeData()
49 // - thread-safety is ensured by FPGATrackSimOutputHeaderTool::m_writeMutex
50 mutable std::vector<FPGATrackSimTowerInputHeader> m_towers ATLAS_THREAD_SAFE;
51
53};
54
55
56std::ostream& operator<<(std::ostream&, const FPGATrackSimLogicalEventInputHeader&);
57
58
59
60#endif // FPGATrackSimEVENTINPUTHEADER_H
std::ostream & operator<<(std::ostream &, const FPGATrackSimLogicalEventInputHeader &)
std::vector< FPGATrackSimTowerInputHeader > m_towers ATLAS_THREAD_SAFE
void addTower(const FPGATrackSimTowerInputHeader &s)
const std::vector< FPGATrackSimTowerInputHeader > & towers() const
void setOptional(const FPGATrackSimOptionalEventInfo &o)
virtual ~FPGATrackSimLogicalEventInputHeader()=default
FPGATrackSimTowerInputHeader * getTower(size_t index)
FPGATrackSimOptionalEventInfo const & optional() const
void addTowers(const std::vector< FPGATrackSimTowerInputHeader > &towers)
Definition index.py:1