LDMX Software
Framework
include
Framework
RunHeader.h
1
#ifndef FRAMEWORK_EVENT_RUNHEADER_H_
2
#define FRAMEWORK_EVENT_RUNHEADER_H_
3
4
/*~~~~~~~~~~*/
5
/* ROOT */
6
/*~~~~~~~~~~*/
7
#include "TObject.h"
8
9
/*~~~~~~~~~~~~~~~~*/
10
/* C++ StdLib */
11
/*~~~~~~~~~~~~~~~~*/
12
#include <map>
13
#include <string>
14
15
/*~~~~~~~~~~~~~~~*/
16
/* Framework */
17
/*~~~~~~~~~~~~~~~*/
18
#include "Framework/Version.h"
19
20
namespace
ldmx {
21
67
class
RunHeader
{
68
public
:
75
static
constexpr
int
VERSION_WITH_COMPLETED
{7};
76
82
RunHeader
(
int
runNumber);
83
89
RunHeader
() =
default
;
90
92
virtual
~RunHeader
() {}
93
95
int
getRunNumber
()
const
{
return
run_number_
; }
96
98
const
std::string&
getDetectorName
()
const
{
return
detector_name_
; }
99
101
void
setDetectorName
(
const
std::string& det) {
detector_name_
= det; }
102
107
const
std::string&
getSoftwareTag
()
const
{
return
software_tag_
; }
108
112
const
std::string&
getLdmxswVersion
()
const
{
return
ldmxsw_version_
; }
113
115
const
std::string&
getDescription
()
const
{
return
description_
; }
116
118
void
setDescription
(
const
std::string& des) {
description_
= des; }
119
126
int
getRunStart
()
const
{
return
run_start_
; }
127
133
void
setRunStart
(
const
int
runStart) {
run_start_
= runStart; }
134
140
int
getRunEnd
()
const
{
return
run_end_
; }
141
147
void
setRunEnd
(
const
int
runEnd) {
run_end_
= runEnd; }
148
155
int
getNumTries
()
const
{
return
num_tries_
; }
156
167
void
setNumTries
(
const
int
numTries) {
num_tries_
= numTries; }
168
177
bool
isCompleted
()
const
{
return
completed_
; }
178
187
void
setCompleted
(
const
bool
completed) {
completed_
= completed; }
188
195
int
getIntParameter
(
const
std::string& name)
const
{
196
return
int_parameters_
.at(name);
197
}
198
200
const
std::map<std::string, int>&
getIntParameters
()
const
{
201
return
int_parameters_
;
202
}
203
210
void
setIntParameter
(
const
std::string& name,
int
value) {
211
int_parameters_
[name] = value;
212
}
213
220
float
getFloatParameter
(
const
std::string& name)
const
{
221
return
float_parameters_
.at(name);
222
}
223
225
const
std::map<std::string, float>&
getFloatParameters
()
const
{
226
return
float_parameters_
;
227
}
228
235
void
setFloatParameter
(
const
std::string& name,
float
value) {
236
float_parameters_
[name] = value;
237
}
238
245
std::string
getStringParameter
(
const
std::string& name)
const
{
246
return
string_parameters_
.at(name);
247
}
248
250
const
std::map<std::string, std::string>&
getStringParameters
()
const
{
251
return
string_parameters_
;
252
}
253
260
void
setStringParameter
(
const
std::string& name, std::string value) {
261
string_parameters_
[name] = value;
262
}
263
271
void
stream
(std::ostream& s)
const
;
272
274
void
print
()
const
;
275
287
friend
std::ostream&
operator<<
(std::ostream& s,
const
ldmx::RunHeader
& h) {
288
h.
stream
(s);
289
return
s;
290
}
291
292
private
:
294
int
run_number_
{0};
295
297
std::string
detector_name_
{
""
};
298
300
std::string
description_
{
""
};
301
303
int
run_start_
{0};
304
306
int
run_end_
{0};
307
322
int
num_tries_
{0};
323
325
bool
completed_
{
false
};
326
331
std::string
software_tag_
{GIT_SHA1};
332
336
std::string
ldmxsw_version_
{LDMXSW_VERSION};
337
339
std::map<std::string, int>
int_parameters_
;
340
342
std::map<std::string, float>
float_parameters_
;
343
345
std::map<std::string, std::string>
string_parameters_
;
346
347
ClassDef(
RunHeader
, 7);
348
349
};
// RunHeader
350
351
}
// namespace ldmx
352
353
#endif
// _FRAMEWORK_EVENT_RUN_HEADER_H_
ldmx::RunHeader
Run-specific configuration and data stored in its own output TTree alongside the event TTree in the o...
Definition
RunHeader.h:67
ldmx::RunHeader::getIntParameter
int getIntParameter(const std::string &name) const
Get an int parameter value.
Definition
RunHeader.h:195
ldmx::RunHeader::setFloatParameter
void setFloatParameter(const std::string &name, float value)
Set a float parameter value.
Definition
RunHeader.h:235
ldmx::RunHeader::getStringParameter
std::string getStringParameter(const std::string &name) const
Get a string parameter value.
Definition
RunHeader.h:245
ldmx::RunHeader::RunHeader
RunHeader()=default
Default constructor.
ldmx::RunHeader::stream
void stream(std::ostream &s) const
Stream this object into the input ostream.
Definition
RunHeader.cxx:15
ldmx::RunHeader::getFloatParameter
float getFloatParameter(const std::string &name) const
Get a float parameter value.
Definition
RunHeader.h:220
ldmx::RunHeader::int_parameters_
std::map< std::string, int > int_parameters_
Map of int parameters.
Definition
RunHeader.h:339
ldmx::RunHeader::string_parameters_
std::map< std::string, std::string > string_parameters_
Map of string parameters.
Definition
RunHeader.h:345
ldmx::RunHeader::run_number_
int run_number_
Run number.
Definition
RunHeader.h:294
ldmx::RunHeader::setRunEnd
void setRunEnd(const int runEnd)
Set the end time of the run in seconds since epoch.
Definition
RunHeader.h:147
ldmx::RunHeader::getIntParameters
const std::map< std::string, int > & getIntParameters() const
Get a const reference to all int parameters.
Definition
RunHeader.h:200
ldmx::RunHeader::setDetectorName
void setDetectorName(const std::string &det)
Set the name of the detector that was used in this run.
Definition
RunHeader.h:101
ldmx::RunHeader::num_tries_
int num_tries_
Total number of events that were begun during the production of this run.
Definition
RunHeader.h:322
ldmx::RunHeader::setStringParameter
void setStringParameter(const std::string &name, std::string value)
Set a string parameter value.
Definition
RunHeader.h:260
ldmx::RunHeader::~RunHeader
virtual ~RunHeader()
Destructor.
Definition
RunHeader.h:92
ldmx::RunHeader::description_
std::string description_
Run description.
Definition
RunHeader.h:300
ldmx::RunHeader::getSoftwareTag
const std::string & getSoftwareTag() const
Definition
RunHeader.h:107
ldmx::RunHeader::float_parameters_
std::map< std::string, float > float_parameters_
Map of float parameters.
Definition
RunHeader.h:342
ldmx::RunHeader::VERSION_WITH_COMPLETED
static constexpr int VERSION_WITH_COMPLETED
The first class version that writes completed_.
Definition
RunHeader.h:75
ldmx::RunHeader::getNumTries
int getNumTries() const
Get the total number of tries that were done during the production of this run.
Definition
RunHeader.h:155
ldmx::RunHeader::getLdmxswVersion
const std::string & getLdmxswVersion() const
Definition
RunHeader.h:112
ldmx::RunHeader::setRunStart
void setRunStart(const int runStart)
Set the run start time in seconds since epoch.
Definition
RunHeader.h:133
ldmx::RunHeader::getDescription
const std::string & getDescription() const
Definition
RunHeader.h:115
ldmx::RunHeader::getRunStart
int getRunStart() const
Get the start time of the run in seconds since epoch.
Definition
RunHeader.h:126
ldmx::RunHeader::run_end_
int run_end_
Run end in seconds since epoch.
Definition
RunHeader.h:306
ldmx::RunHeader::setCompleted
void setCompleted(const bool completed)
Mark whether this run was completed.
Definition
RunHeader.h:187
ldmx::RunHeader::completed_
bool completed_
True only once the run finished and the file was closed cleanly.
Definition
RunHeader.h:325
ldmx::RunHeader::getDetectorName
const std::string & getDetectorName() const
Definition
RunHeader.h:98
ldmx::RunHeader::getRunEnd
int getRunEnd() const
Get the end time of the run in seconds since epoch.
Definition
RunHeader.h:140
ldmx::RunHeader::operator<<
friend std::ostream & operator<<(std::ostream &s, const ldmx::RunHeader &h)
Stream this object to an output stream.
Definition
RunHeader.h:287
ldmx::RunHeader::setDescription
void setDescription(const std::string &des)
Set the description of this run.
Definition
RunHeader.h:118
ldmx::RunHeader::isCompleted
bool isCompleted() const
Check whether the file holding this run was closed cleanly.
Definition
RunHeader.h:177
ldmx::RunHeader::run_start_
int run_start_
Run start in seconds since epoch.
Definition
RunHeader.h:303
ldmx::RunHeader::getFloatParameters
const std::map< std::string, float > & getFloatParameters() const
Get a const reference to all float parameters.
Definition
RunHeader.h:225
ldmx::RunHeader::setNumTries
void setNumTries(const int numTries)
Set the total number of tries that were done during the production of this run.
Definition
RunHeader.h:167
ldmx::RunHeader::print
void print() const
Print a string desciption of this object.
Definition
RunHeader.cxx:32
ldmx::RunHeader::ldmxsw_version_
std::string ldmxsw_version_
ldmx-sw software version
Definition
RunHeader.h:336
ldmx::RunHeader::getStringParameters
const std::map< std::string, std::string > & getStringParameters() const
Get a const reference to all string parameters.
Definition
RunHeader.h:250
ldmx::RunHeader::detector_name_
std::string detector_name_
Detector name.
Definition
RunHeader.h:297
ldmx::RunHeader::setIntParameter
void setIntParameter(const std::string &name, int value)
Set an int parameter value.
Definition
RunHeader.h:210
ldmx::RunHeader::software_tag_
std::string software_tag_
git SHA-1 hash associated with the software tag used to generate this file.
Definition
RunHeader.h:331
ldmx::RunHeader::getRunNumber
int getRunNumber() const
Definition
RunHeader.h:95
Generated by
1.12.0