ATLAS Offline Software
Loading...
Searching...
No Matches
Trigger
EFTracking
FPGATrackSim
FPGATrackSimObjects
FPGATrackSimObjects
FPGATrackSimOptionalEventInfo.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIGFPGATrackSimOBJECTS_FPGATrackSimOPTIONALEVENTINFO_H
6
#define TRIGFPGATrackSimOBJECTS_FPGATrackSimOPTIONALEVENTINFO_H
7
8
#include <TObject.h>
9
#include <vector>
10
#include <iostream>
11
#include <sstream>
12
13
#include "
FPGATrackSimObjects/FPGATrackSimCluster.h
"
14
#include "
FPGATrackSimObjects/FPGATrackSimOfflineTrack.h
"
15
#include "
FPGATrackSimObjects/FPGATrackSimTruthTrack.h
"
16
17
class
FPGATrackSimOptionalEventInfo
{
18
19
public
:
20
21
FPGATrackSimOptionalEventInfo
() {};
22
virtual
~FPGATrackSimOptionalEventInfo
();
23
24
void
reset
()
const
;
25
26
// Offline Clusters
27
const
std::vector<FPGATrackSimCluster>&
getOfflineClusters
()
const
{
return
m_OfflineClusters; }
28
size_t
nOfflineClusters
()
const
{
return
m_OfflineClusters.size(); }
29
void
addOfflineCluster
(
const
FPGATrackSimCluster
& c)
const
{ m_OfflineClusters.push_back(c); }
30
31
// Offline Tracks
32
const
std::vector<FPGATrackSimOfflineTrack>&
getOfflineTracks
()
const
{
return
m_OfflineTracks; }
33
size_t
nOfflineTracks
()
const
{
return
m_OfflineTracks.size(); }
34
void
addOfflineTrack
(
const
FPGATrackSimOfflineTrack
& t)
const
{ m_OfflineTracks.push_back(t); };
35
36
// Truth Tracks
37
const
std::vector<FPGATrackSimTruthTrack>&
getTruthTracks
()
const
{
return
m_TruthTracks; }
38
size_t
nTruthTracks
()
const
{
return
m_TruthTracks.size(); }
39
void
addTruthTrack
(
const
FPGATrackSimTruthTrack
& t)
const
{ m_TruthTracks.push_back(t); }
40
41
42
//reserve sizes
43
void
reserveOfflineClusters
(
size_t
size)
const
{ m_OfflineClusters.reserve(size); }
44
void
reserveOfflineTracks
(
size_t
size)
const
{ m_OfflineTracks.reserve(size); }
45
void
reserveTruthTracks
(
size_t
size)
const
{ m_TruthTracks.reserve(size); }
46
47
48
private
:
49
50
// Mutable members required for ROOT I/O operations within const execute() method.
51
// - Call chain: FPGATrackSimDataPrepAlg::execute() const
52
// --> FPGATrackSimOutputHeaderTool::writeData() const
53
// --> FPGATrackSimLogicalEventInputHeader::reset() const
54
// - Execute creates local copies, moves data to ROOT objects under m_rootWriteMutex, then resets
55
// - Thread-safety: local objects are per-thread, persistent ROOT objects protected by mutex
56
57
mutable
std::vector<FPGATrackSimCluster> m_OfflineClusters
ATLAS_THREAD_SAFE
;
58
mutable
std::vector<FPGATrackSimOfflineTrack> m_OfflineTracks
ATLAS_THREAD_SAFE
;
59
mutable
std::vector<FPGATrackSimTruthTrack> m_TruthTracks
ATLAS_THREAD_SAFE
;
60
61
62
ClassDefNV(
FPGATrackSimOptionalEventInfo
, 3)
63
};
64
65
std::ostream&
operator<<
(std::ostream&,
const
FPGATrackSimOptionalEventInfo
&);
66
#endif
FPGATrackSimCluster.h
FPGATrackSimOfflineTrack.h
operator<<
std::ostream & operator<<(std::ostream &, const FPGATrackSimOptionalEventInfo &)
Definition
FPGATrackSimOptionalEventInfo.cxx:18
FPGATrackSimTruthTrack.h
FPGATrackSimCluster
Definition
FPGATrackSimCluster.h:24
FPGATrackSimOfflineTrack
Definition
FPGATrackSimOfflineTrack.h:12
FPGATrackSimOptionalEventInfo
Definition
FPGATrackSimOptionalEventInfo.h:17
FPGATrackSimOptionalEventInfo::addOfflineCluster
void addOfflineCluster(const FPGATrackSimCluster &c) const
Definition
FPGATrackSimOptionalEventInfo.h:29
FPGATrackSimOptionalEventInfo::nTruthTracks
size_t nTruthTracks() const
Definition
FPGATrackSimOptionalEventInfo.h:38
FPGATrackSimOptionalEventInfo::getTruthTracks
const std::vector< FPGATrackSimTruthTrack > & getTruthTracks() const
Definition
FPGATrackSimOptionalEventInfo.h:37
FPGATrackSimOptionalEventInfo::nOfflineClusters
size_t nOfflineClusters() const
Definition
FPGATrackSimOptionalEventInfo.h:28
FPGATrackSimOptionalEventInfo::reset
void reset() const
Definition
FPGATrackSimOptionalEventInfo.cxx:12
FPGATrackSimOptionalEventInfo::ATLAS_THREAD_SAFE
std::vector< FPGATrackSimCluster > m_OfflineClusters ATLAS_THREAD_SAFE
Definition
FPGATrackSimOptionalEventInfo.h:57
FPGATrackSimOptionalEventInfo::FPGATrackSimOptionalEventInfo
FPGATrackSimOptionalEventInfo()
Definition
FPGATrackSimOptionalEventInfo.h:21
FPGATrackSimOptionalEventInfo::reserveTruthTracks
void reserveTruthTracks(size_t size) const
Definition
FPGATrackSimOptionalEventInfo.h:45
FPGATrackSimOptionalEventInfo::reserveOfflineClusters
void reserveOfflineClusters(size_t size) const
Definition
FPGATrackSimOptionalEventInfo.h:43
FPGATrackSimOptionalEventInfo::~FPGATrackSimOptionalEventInfo
virtual ~FPGATrackSimOptionalEventInfo()
Definition
FPGATrackSimOptionalEventInfo.cxx:8
FPGATrackSimOptionalEventInfo::addOfflineTrack
void addOfflineTrack(const FPGATrackSimOfflineTrack &t) const
Definition
FPGATrackSimOptionalEventInfo.h:34
FPGATrackSimOptionalEventInfo::addTruthTrack
void addTruthTrack(const FPGATrackSimTruthTrack &t) const
Definition
FPGATrackSimOptionalEventInfo.h:39
FPGATrackSimOptionalEventInfo::getOfflineClusters
const std::vector< FPGATrackSimCluster > & getOfflineClusters() const
Definition
FPGATrackSimOptionalEventInfo.h:27
FPGATrackSimOptionalEventInfo::nOfflineTracks
size_t nOfflineTracks() const
Definition
FPGATrackSimOptionalEventInfo.h:33
FPGATrackSimOptionalEventInfo::reserveOfflineTracks
void reserveOfflineTracks(size_t size) const
Definition
FPGATrackSimOptionalEventInfo.h:44
FPGATrackSimOptionalEventInfo::getOfflineTracks
const std::vector< FPGATrackSimOfflineTrack > & getOfflineTracks() const
Definition
FPGATrackSimOptionalEventInfo.h:32
FPGATrackSimTruthTrack
Definition
FPGATrackSimTruthTrack.h:14
Generated on
for ATLAS Offline Software by
1.14.0