ATLAS Offline Software
Loading...
Searching...
No Matches
FPGATrackSimOutputHeaderTool Class Reference

#include <FPGATrackSimOutputHeaderTool.h>

Inheritance diagram for FPGATrackSimOutputHeaderTool:
Collaboration diagram for FPGATrackSimOutputHeaderTool:

Public Member Functions

 FPGATrackSimOutputHeaderTool (const std::string &, const std::string &, const IInterface *)
virtual ~FPGATrackSimOutputHeaderTool ()=default
virtual StatusCode initialize () override
virtual StatusCode finalize () override
FPGATrackSimLogicalEventInputHeaderaddInputBranch (const std::string &branchName, bool write=true)
FPGATrackSimLogicalEventOutputHeaderaddOutputBranch (const std::string &branchName, bool write=true)
StatusCode configureReadBranches ()
StatusCode readData (bool &last)
StatusCode writeData ()
std::string fileName ()
TTree * getEventTree ()
void activateEventOutput ()
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

StatusCode openFile (std::string const &path)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

Gaudi::Property< std::vector< std::string > > m_inpath {this, "InFileName", {"."}, "input file paths"}
Gaudi::Property< std::string > m_rwoption {this, "RWstatus", std::string("READ"), "define read or write file option: READ, RECREATE, HEADER"}
Gaudi::Property< std::string > m_treeName {this, "OutputTreeName", "FPGATrackSimLogicalEventTree", "Name of the output TTree to create."}
ServiceHandle< ITHistSvc > m_tHistSvc {this, "THistSvc", "THistSvc"}
Gaudi::Property< int > m_eventLimit {this, "EventLimit", 10000 , "Maximum Number of Events to Output"}
Gaudi::Property< bool > m_requireActivation {this, "RequireActivation", false , "Only output if activated on event, good for doing a single region in a large file"}
std::atomic< unsigned > m_event = 0
std::atomic< unsigned > m_totevent = 0
std::atomic< unsigned > m_file = 0
bool m_activated {false}
std::vector< FPGATrackSimLogicalEventInputHeader * > m_eventInputHeaders
std::vector< FPGATrackSimLogicalEventOutputHeader * > m_eventOutputHeaders
std::vector< std::string > m_branchNameIns
std::vector< std::string > m_branchNameOuts
TFile * m_infile = nullptr
TTree * m_EventTree = nullptr
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 28 of file FPGATrackSimOutputHeaderTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ FPGATrackSimOutputHeaderTool()

FPGATrackSimOutputHeaderTool::FPGATrackSimOutputHeaderTool ( const std::string & algname,
const std::string & name,
const IInterface * ifc )

Definition at line 9 of file FPGATrackSimOutputHeaderTool.cxx.

9 :
10 AthAlgTool(algname,name,ifc) {}
AthAlgTool()
Default constructor:

◆ ~FPGATrackSimOutputHeaderTool()

virtual FPGATrackSimOutputHeaderTool::~FPGATrackSimOutputHeaderTool ( )
virtualdefault

Member Function Documentation

◆ activateEventOutput()

void FPGATrackSimOutputHeaderTool::activateEventOutput ( )
inline

◆ addInputBranch()

FPGATrackSimLogicalEventInputHeader * FPGATrackSimOutputHeaderTool::addInputBranch ( const std::string & branchName,
bool write = true )

Definition at line 134 of file FPGATrackSimOutputHeaderTool.cxx.

134 {
135 m_eventInputHeaders.push_back(new FPGATrackSimLogicalEventInputHeader());
136 FPGATrackSimLogicalEventInputHeader* inputHeader = m_eventInputHeaders.at(m_eventInputHeaders.size() - 1);
137 m_branchNameIns.push_back(branchName);
138 if (write) {
139 m_EventTree->Branch(branchName.c_str(), "FPGATrackSimLogicalEventInputHeader", inputHeader);
140 }
141 return inputHeader;
142}
std::vector< std::string > m_branchNameIns
std::vector< FPGATrackSimLogicalEventInputHeader * > m_eventInputHeaders

◆ addOutputBranch()

FPGATrackSimLogicalEventOutputHeader * FPGATrackSimOutputHeaderTool::addOutputBranch ( const std::string & branchName,
bool write = true )

Definition at line 144 of file FPGATrackSimOutputHeaderTool.cxx.

144 {
145 m_eventOutputHeaders.push_back(new FPGATrackSimLogicalEventOutputHeader());
146 FPGATrackSimLogicalEventOutputHeader* outputHeader = m_eventOutputHeaders.at(m_eventOutputHeaders.size() - 1);
147 m_branchNameOuts.push_back(branchName);
148 if (write) {
149 m_EventTree->Branch(branchName.c_str(), "FPGATrackSimLogicalEventOutputHeader", outputHeader);
150 }
151 return outputHeader;
152}
std::vector< std::string > m_branchNameOuts
std::vector< FPGATrackSimLogicalEventOutputHeader * > m_eventOutputHeaders

◆ configureReadBranches()

StatusCode FPGATrackSimOutputHeaderTool::configureReadBranches ( )

Definition at line 51 of file FPGATrackSimOutputHeaderTool.cxx.

51 {
52
53 // Don't do anything
54 if (m_rwoption.value() != std::string("READ")) {
55 ATH_MSG_FATAL("Called configureReadBranches() when ROOT file was not opened in READ mode.");
56 return StatusCode::FAILURE;
57 }
58
59 // In read mode, we want to make sure the configured branches are actually available.
60 // Configuration is via a function call (to allow different algorithms to set up different numbers of branches).
61 for (unsigned i = 0; i < m_branchNameIns.size(); i++) {
62 std::string branchName = m_branchNameIns.at(i);
63 if (!m_EventTree->GetListOfBranches()->FindObject(branchName.c_str())) {
64 ATH_MSG_FATAL("Configured input branch: " << branchName << " not found!");
65 return StatusCode::FAILURE;
66 }
67 TBranch *branchIn = m_EventTree->GetBranch(branchName.c_str());
68 branchIn->SetAddress(&(m_eventInputHeaders.at(i)));
69 m_EventTree->SetBranchStatus(branchName.c_str(), 1);
70 }
71
72 // Do the same thing for the output branches. In fact we could maybe combine these loops by making a function.
73 for (unsigned i = 0; i < m_branchNameOuts.size(); i++) {
74 std::string branchName = m_branchNameOuts.at(i);
75 if (!m_EventTree->GetListOfBranches()->FindObject(branchName.c_str())) {
76 ATH_MSG_FATAL("Configured output branch: " << branchName << " not found!");
77 return StatusCode::FAILURE;
78 }
79 TBranch *branchIn = m_EventTree->GetBranch(branchName.c_str());
80 branchIn->SetAddress(&(m_eventOutputHeaders.at(i)));
81 m_EventTree->SetBranchStatus(branchName.c_str(), 1);
82 }
83
84 return StatusCode::SUCCESS;
85}
#define ATH_MSG_FATAL(x)
Gaudi::Property< std::string > m_rwoption

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ fileName()

std::string FPGATrackSimOutputHeaderTool::fileName ( )
inline

Definition at line 50 of file FPGATrackSimOutputHeaderTool.h.

50{ return std::accumulate(m_inpath.value().begin(), m_inpath.value().end(), std::string{}); }
Gaudi::Property< std::vector< std::string > > m_inpath

◆ finalize()

StatusCode FPGATrackSimOutputHeaderTool::finalize ( )
overridevirtual

Definition at line 155 of file FPGATrackSimOutputHeaderTool.cxx.

156{
157 ATH_MSG_INFO ("finalize: closing files");
158
159 if (m_rwoption.value() == std::string("RECREATE")) {
160 ATH_MSG_INFO ("Contains " << m_EventTree->GetEntries() << " entries, over " << m_event << " events run");
161 // close the output files, but check that it exists (for athenaMP)
162 m_infile->Write();
163 }
164
165 if (m_rwoption.value() != std::string("HEADER")) {
166 m_infile->Close();
167 }
168
169 // deleting pointers
170 for (auto* header : m_eventInputHeaders) delete header;
171 for (auto* header : m_eventOutputHeaders) delete header;
172
173 return StatusCode::SUCCESS;
174}
#define ATH_MSG_INFO(x)

◆ getEventTree()

TTree * FPGATrackSimOutputHeaderTool::getEventTree ( )
inline

Definition at line 53 of file FPGATrackSimOutputHeaderTool.h.

53{ return m_EventTree; }

◆ initialize()

StatusCode FPGATrackSimOutputHeaderTool::initialize ( )
overridevirtual

Definition at line 88 of file FPGATrackSimOutputHeaderTool.cxx.

89{
90 // Dump the configuration to make sure it propagated through right
91 const std::vector<Gaudi::Details::PropertyBase*> props = this->getProperties();
92 for( Gaudi::Details::PropertyBase* prop : props ) {
93 if (prop->ownerTypeName()==this->type()) {
94 ATH_MSG_DEBUG("Property:\t" << prop->name() << "\t : \t" << prop->toString());
95 }
96 }
97
98 ATH_CHECK(m_tHistSvc.retrieve());
99
100 if( m_rwoption.value()!=std::string("HEADER"))
101 {
102 if (m_inpath.value().empty())
103 {
104 ATH_MSG_ERROR("Empty input file list");
105 return StatusCode::FAILURE;
106 }
107 ATH_CHECK(openFile(m_inpath.value().front()));
108 }
109
110 if (m_rwoption.value() == std::string("READ")) {
111 ATH_MSG_DEBUG ("Initialized in READ MODE");
112 } else if (m_rwoption.value()==std::string("RECREATE") || m_rwoption.value()==std::string("HEADER")) {
113
114 // branches are NO LONGER created here, the user needs to do this.
115 m_EventTree = new TTree(m_treeName.value().c_str(), "data");
116
117 // For HEADER-- use THistSvc explicitly to set things up.
118 if (m_rwoption.value() == std::string("HEADER")) {
119 ATH_CHECK(m_tHistSvc->regTree(Form("/FPGATRACKSIMOUTPUT/%s", m_treeName.value().c_str()), m_EventTree));
120 }
121
122 } else {
123 ATH_MSG_ERROR ("RWstatus = " << m_rwoption.value() << " is not allowed!");
124 return StatusCode::FAILURE;
125 }
126
127 m_event = 0; // in file
128 m_totevent = 0; // total counter
129 return StatusCode::SUCCESS;
130}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
Gaudi::Property< std::string > m_treeName
StatusCode openFile(std::string const &path)

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ openFile()

StatusCode FPGATrackSimOutputHeaderTool::openFile ( std::string const & path)
private

Definition at line 14 of file FPGATrackSimOutputHeaderTool.cxx.

15{
16 // close old file (I don't think we delete the pointer. Does ROOT handle that?)
17 if (m_infile && m_infile->IsOpen()) m_infile->Close();
18
19 // open new file
20 ATH_MSG_DEBUG ("Opening file " << path.c_str() << " in " << m_rwoption.value() << " mode.");
21 m_infile = TFile::Open(path.c_str(), m_rwoption.value().c_str());
22
23 if (!m_infile) {
24 ATH_MSG_FATAL("Could not open input file: " << path);
25 return StatusCode::FAILURE;
26 }
27
28 if (m_rwoption.value() == std::string("READ")) {
29 // get the tree
30 m_EventTree = (TTree*) m_infile->Get(m_treeName.value().c_str());
31 if (!m_EventTree || m_EventTree->GetEntries() == -1) {
32 ATH_MSG_FATAL ("Input file: " << m_inpath.value() << " has no entries");
33 return StatusCode::FAILURE;
34 }
35
36 ATH_MSG_INFO ("Input file: " << path << " has " << m_EventTree->GetEntries() << " event entries.");
37 }
38
39 m_infile->cd();
40 m_event = 0;
41 return StatusCode::SUCCESS;
42}
path
python interpreter configuration --------------------------------------—
Definition athena.py:128

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ readData()

StatusCode FPGATrackSimOutputHeaderTool::readData ( bool & last)

Definition at line 229 of file FPGATrackSimOutputHeaderTool.cxx.

230{
231 if (m_rwoption.value() != std::string("READ")) {
232 ATH_MSG_WARNING ("Asked to read file that is not in READ mode");
233 return StatusCode::SUCCESS;
234 }
235
236 for (auto* header : m_eventInputHeaders) {
237 header->reset();
238 }
239
240 for (auto* header : m_eventOutputHeaders) {
241 header->reset();
242 }
243
244 ATH_MSG_DEBUG ("Asked Event " << m_event << " in this file; current total is " << m_totevent);
245 last = false;
246 if (m_event >= m_EventTree->GetEntries()) {
247 if (++m_file < m_inpath.value().size()) {
248 ATH_CHECK(openFile(m_inpath.value().at(m_file)));
249 // If opening a new file we need to update the branch addresses.
251 }
252 else {
253 last = true;
254 return StatusCode::SUCCESS;
255 }
256 }
257
258 // Read the objects. I removed some of the debug messages here, they could be readded.
259 for (const std::string& branchName : m_branchNameIns) {
260 int statIn = m_EventTree->GetBranch(branchName.c_str())->GetEntry(m_event);
261 if (statIn <= 0) ATH_MSG_WARNING("Error in reading from branch " << branchName);
262 }
263
264 for (const std::string& branchName : m_branchNameOuts) {
265 int statOut = m_EventTree->GetBranch(branchName.c_str())->GetEntry(m_event);
266 if (statOut <= 0) ATH_MSG_WARNING("Error in reading from branch " << branchName);
267 }
268
269 m_event++;
270 m_totevent++;
271
272 return StatusCode::SUCCESS;
273}
#define ATH_MSG_WARNING(x)

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

◆ writeData()

StatusCode FPGATrackSimOutputHeaderTool::writeData ( )

Definition at line 179 of file FPGATrackSimOutputHeaderTool.cxx.

179 {
180
181 if (m_rwoption.value() == std::string("READ")) {
182 ATH_MSG_WARNING ("Asked to write file in READ mode");
183 return StatusCode::SUCCESS;
184 }
185
186 ATH_MSG_DEBUG ("Writing data in TTree, event cnt=" << m_event << " limit=" << m_eventLimit << " activated" << m_activated);
187
188 // Interpret -1 as no limit.
189 if ((m_event < static_cast<unsigned>(m_eventLimit) || m_eventLimit < 0) &&
191 m_EventTree->Fill();
192 m_event++;
193 m_activated=0;
194
195 for (unsigned i = 0; i < m_eventInputHeaders.size(); i++) {
196 ATH_MSG_DEBUG("Wrote event " << m_event << " in input header (" << m_branchNameIns.at(i) << ") event " << m_eventInputHeaders.at(i)->event());
197 }
198 for (unsigned i = 0; i < m_eventOutputHeaders.size(); i++) {
199 ATH_MSG_DEBUG("Wrote event " << m_event << " in output header (" << m_branchNameOuts.at(i) << ")");
200 ATH_MSG_DEBUG("n.roads_1st = " << m_eventOutputHeaders.at(i)->nFPGATrackSimRoads_1st());
201 ATH_MSG_DEBUG("n.roads_2nd = " << m_eventOutputHeaders.at(i)->nFPGATrackSimRoads_2nd());
202 ATH_MSG_DEBUG("n.tracks_1st = " << m_eventOutputHeaders.at(i)->nFPGATrackSimTracks_1st());
203 ATH_MSG_DEBUG("n.tracks_2nd = " << m_eventOutputHeaders.at(i)->nFPGATrackSimTracks_2nd());
204 }
205 }
206
207 // Reset any input headers that we wrote out (with debugging prints).
208 for (unsigned i = 0; i < m_eventInputHeaders.size(); i++) {
209 m_eventInputHeaders.at(i)->reset();
210 }
211
212 // Reset any output headers that we wrote out (With debugging prints).
213 for (unsigned i = 0; i < m_eventOutputHeaders.size(); i++) {
214 m_eventOutputHeaders.at(i)->reset();
215 }
216
217 // Only return FAILURe if there were no input AND output headers (i.e. something is misconfigured).
218 if (m_eventInputHeaders.size() == 0 and m_eventOutputHeaders.size() == 0) {
219 ATH_MSG_ERROR("Tried to fill output ROOT file with no configured input or output headers.");
220 return StatusCode::FAILURE;
221 }
222
223 return StatusCode::SUCCESS;
224}

Member Data Documentation

◆ m_activated

bool FPGATrackSimOutputHeaderTool::m_activated {false}
private

Definition at line 84 of file FPGATrackSimOutputHeaderTool.h.

84{false}; // static so if any instance is active they all are

◆ m_branchNameIns

std::vector<std::string> FPGATrackSimOutputHeaderTool::m_branchNameIns
private

Definition at line 90 of file FPGATrackSimOutputHeaderTool.h.

◆ m_branchNameOuts

std::vector<std::string> FPGATrackSimOutputHeaderTool::m_branchNameOuts
private

Definition at line 91 of file FPGATrackSimOutputHeaderTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_event

std::atomic<unsigned> FPGATrackSimOutputHeaderTool::m_event = 0
private

Definition at line 81 of file FPGATrackSimOutputHeaderTool.h.

◆ m_eventInputHeaders

std::vector<FPGATrackSimLogicalEventInputHeader*> FPGATrackSimOutputHeaderTool::m_eventInputHeaders
private

Definition at line 87 of file FPGATrackSimOutputHeaderTool.h.

◆ m_eventLimit

Gaudi::Property<int> FPGATrackSimOutputHeaderTool::m_eventLimit {this, "EventLimit", 10000 , "Maximum Number of Events to Output"}
private

Definition at line 75 of file FPGATrackSimOutputHeaderTool.h.

75{this, "EventLimit", 10000 , "Maximum Number of Events to Output"};

◆ m_eventOutputHeaders

std::vector<FPGATrackSimLogicalEventOutputHeader*> FPGATrackSimOutputHeaderTool::m_eventOutputHeaders
private

Definition at line 88 of file FPGATrackSimOutputHeaderTool.h.

◆ m_EventTree

TTree* FPGATrackSimOutputHeaderTool::m_EventTree = nullptr
private

Definition at line 94 of file FPGATrackSimOutputHeaderTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_file

std::atomic<unsigned> FPGATrackSimOutputHeaderTool::m_file = 0
private

Definition at line 83 of file FPGATrackSimOutputHeaderTool.h.

◆ m_infile

TFile* FPGATrackSimOutputHeaderTool::m_infile = nullptr
private

Definition at line 93 of file FPGATrackSimOutputHeaderTool.h.

◆ m_inpath

Gaudi::Property<std::vector<std::string> > FPGATrackSimOutputHeaderTool::m_inpath {this, "InFileName", {"."}, "input file paths"}
private

Definition at line 62 of file FPGATrackSimOutputHeaderTool.h.

62{this, "InFileName", {"."}, "input file paths"};

◆ m_requireActivation

Gaudi::Property<bool> FPGATrackSimOutputHeaderTool::m_requireActivation {this, "RequireActivation", false , "Only output if activated on event, good for doing a single region in a large file"}
private

Definition at line 78 of file FPGATrackSimOutputHeaderTool.h.

78{this, "RequireActivation", false , "Only output if activated on event, good for doing a single region in a large file"};

◆ m_rwoption

Gaudi::Property<std::string> FPGATrackSimOutputHeaderTool::m_rwoption {this, "RWstatus", std::string("READ"), "define read or write file option: READ, RECREATE, HEADER"}
private

Definition at line 66 of file FPGATrackSimOutputHeaderTool.h.

66{this, "RWstatus", std::string("READ"), "define read or write file option: READ, RECREATE, HEADER"};

◆ m_tHistSvc

ServiceHandle<ITHistSvc> FPGATrackSimOutputHeaderTool::m_tHistSvc {this, "THistSvc", "THistSvc"}
private

Definition at line 72 of file FPGATrackSimOutputHeaderTool.h.

72{this, "THistSvc", "THistSvc"};

◆ m_totevent

std::atomic<unsigned> FPGATrackSimOutputHeaderTool::m_totevent = 0
private

Definition at line 82 of file FPGATrackSimOutputHeaderTool.h.

◆ m_treeName

Gaudi::Property<std::string> FPGATrackSimOutputHeaderTool::m_treeName {this, "OutputTreeName", "FPGATrackSimLogicalEventTree", "Name of the output TTree to create."}
private

Definition at line 69 of file FPGATrackSimOutputHeaderTool.h.

69{this, "OutputTreeName", "FPGATrackSimLogicalEventTree", "Name of the output TTree to create."};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: