ATLAS Offline Software
Loading...
Searching...
No Matches
Trigger
EFTracking
FPGATrackSim
FPGATrackSimObjects
FPGATrackSimObjects
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
12
#include "
FPGATrackSimObjects/FPGATrackSimTowerInputHeader.h
"
13
#include "
FPGATrackSimObjects/FPGATrackSimEventInfo.h
"
14
#include "
FPGATrackSimObjects/FPGATrackSimOptionalEventInfo.h
"
15
16
17
class
FPGATrackSimEventInfo
;
18
class
FPGATrackSimOptionalEventInfo
;
19
20
class
FPGATrackSimLogicalEventInputHeader
21
{
22
public
:
23
24
FPGATrackSimLogicalEventInputHeader
() =
default
;
25
virtual
~FPGATrackSimLogicalEventInputHeader
() =
default
;
26
27
void
reset
()
const
;
//reset per event variables
28
29
void
newEvent
(
FPGATrackSimEventInfo
&
event
) {
reset
();
m_event
=
event
; }
30
FPGATrackSimEventInfo
const
&
event
()
const
{
return
m_event
; }
31
32
FPGATrackSimOptionalEventInfo
const
&
optional
()
const
{
return
m_optional
; }
33
void
setOptional
(
const
FPGATrackSimOptionalEventInfo
& o) {
m_optional
= o; }
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
43
private
:
44
FPGATrackSimEventInfo
m_event
;
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
52
ClassDefNV(
FPGATrackSimLogicalEventInputHeader
, 2)
53
};
54
55
56
std::ostream&
operator<<
(std::ostream&,
const
FPGATrackSimLogicalEventInputHeader
&);
57
58
59
60
#endif
// FPGATrackSimEVENTINPUTHEADER_H
FPGATrackSimEventInfo.h
operator<<
std::ostream & operator<<(std::ostream &, const FPGATrackSimLogicalEventInputHeader &)
Definition
FPGATrackSimLogicalEventInputHeader.cxx:17
FPGATrackSimOptionalEventInfo.h
FPGATrackSimTowerInputHeader.h
FPGATrackSimEventInfo
Definition
FPGATrackSimEventInfo.h:14
FPGATrackSimLogicalEventInputHeader
Definition
FPGATrackSimLogicalEventInputHeader.h:21
FPGATrackSimLogicalEventInputHeader::ATLAS_THREAD_SAFE
std::vector< FPGATrackSimTowerInputHeader > m_towers ATLAS_THREAD_SAFE
Definition
FPGATrackSimLogicalEventInputHeader.h:50
FPGATrackSimLogicalEventInputHeader::addTower
void addTower(const FPGATrackSimTowerInputHeader &s)
Definition
FPGATrackSimLogicalEventInputHeader.h:38
FPGATrackSimLogicalEventInputHeader::event
FPGATrackSimEventInfo const & event() const
Definition
FPGATrackSimLogicalEventInputHeader.h:30
FPGATrackSimLogicalEventInputHeader::nTowers
int nTowers() const
Definition
FPGATrackSimLogicalEventInputHeader.h:37
FPGATrackSimLogicalEventInputHeader::towers
const std::vector< FPGATrackSimTowerInputHeader > & towers() const
Definition
FPGATrackSimLogicalEventInputHeader.h:36
FPGATrackSimLogicalEventInputHeader::setOptional
void setOptional(const FPGATrackSimOptionalEventInfo &o)
Definition
FPGATrackSimLogicalEventInputHeader.h:33
FPGATrackSimLogicalEventInputHeader::~FPGATrackSimLogicalEventInputHeader
virtual ~FPGATrackSimLogicalEventInputHeader()=default
FPGATrackSimLogicalEventInputHeader::getTower
FPGATrackSimTowerInputHeader * getTower(size_t index)
Definition
FPGATrackSimLogicalEventInputHeader.h:39
FPGATrackSimLogicalEventInputHeader::FPGATrackSimLogicalEventInputHeader
FPGATrackSimLogicalEventInputHeader()=default
FPGATrackSimLogicalEventInputHeader::newEvent
void newEvent(FPGATrackSimEventInfo &event)
Definition
FPGATrackSimLogicalEventInputHeader.h:29
FPGATrackSimLogicalEventInputHeader::m_event
FPGATrackSimEventInfo m_event
Definition
FPGATrackSimLogicalEventInputHeader.h:44
FPGATrackSimLogicalEventInputHeader::reset
void reset() const
Definition
FPGATrackSimLogicalEventInputHeader.cxx:10
FPGATrackSimLogicalEventInputHeader::m_optional
FPGATrackSimOptionalEventInfo m_optional
Definition
FPGATrackSimLogicalEventInputHeader.h:45
FPGATrackSimLogicalEventInputHeader::optional
FPGATrackSimOptionalEventInfo const & optional() const
Definition
FPGATrackSimLogicalEventInputHeader.h:32
FPGATrackSimLogicalEventInputHeader::reserveTowers
void reserveTowers(size_t size)
Definition
FPGATrackSimLogicalEventInputHeader.h:40
FPGATrackSimLogicalEventInputHeader::addTowers
void addTowers(const std::vector< FPGATrackSimTowerInputHeader > &towers)
Definition
FPGATrackSimLogicalEventInputHeader.h:41
FPGATrackSimOptionalEventInfo
Definition
FPGATrackSimOptionalEventInfo.h:17
FPGATrackSimTowerInputHeader
Definition
FPGATrackSimTowerInputHeader.h:18
index
Definition
index.py:1
Generated on
for ATLAS Offline Software by
1.14.0