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
8
/*~~~~~~~~~~~~~~~~*/
9
/* C++ StdLib */
10
/*~~~~~~~~~~~~~~~~*/
11
#include <Rtypes.h>
// For ClassDef
12
13
#include <map>
14
#include <string>
15
16
/*~~~~~~~~~~~~~~~*/
17
/* Framework */
18
/*~~~~~~~~~~~~~~~*/
19
#include "Framework/Version.h"
20
21
namespace
ldmx {
22
68
class
RunHeader
{
69
public
:
76
static
constexpr
int
VERSION_WITH_COMPLETED
{7};
77
83
RunHeader
(
int
runNumber);
84
90
RunHeader
() =
default
;
91
93
virtual
~RunHeader
() {}
94
96
int
getRunNumber
()
const
{
return
run_number_
; }
97
99
const
std::string&
getDetectorName
()
const
{
return
detector_name_
; }
100
102
void
setDetectorName
(
const
std::string& det) {
detector_name_
= det; }
103
108
const
std::string&
getSoftwareTag
()
const
{
return
software_tag_
; }
109
113
const
std::string&
getLdmxswVersion
()
const
{
return
ldmxsw_version_
; }
114
116
const
std::string&
getDescription
()
const
{
return
description_
; }
117
119
void
setDescription
(
const
std::string& des) {
description_
= des; }
120
127
int
getRunStart
()
const
{
return
run_start_
; }
128
134
void
setRunStart
(
const
int
runStart) {
run_start_
= runStart; }
135
141
int
getRunEnd
()
const
{
return
run_end_
; }
142
148
void
setRunEnd
(
const
int
runEnd) {
run_end_
= runEnd; }
149
156
int
getNumTries
()
const
{
return
num_tries_
; }
157
168
void
setNumTries
(
const
int
numTries) {
num_tries_
= numTries; }
169
178
bool
isCompleted
()
const
{
return
completed_
; }
179
188
void
setCompleted
(
const
bool
completed) {
completed_
= completed; }
189
196
int
getIntParameter
(
const
std::string& name)
const
{
197
return
int_parameters_
.at(name);
198
}
199
201
const
std::map<std::string, int>&
getIntParameters
()
const
{
202
return
int_parameters_
;
203
}
204
211
void
setIntParameter
(
const
std::string& name,
int
value) {
212
int_parameters_
[name] = value;
213
}
214
221
float
getFloatParameter
(
const
std::string& name)
const
{
222
return
float_parameters_
.at(name);
223
}
224
226
const
std::map<std::string, float>&
getFloatParameters
()
const
{
227
return
float_parameters_
;
228
}
229
236
void
setFloatParameter
(
const
std::string& name,
float
value) {
237
float_parameters_
[name] = value;
238
}
239
246
std::string
getStringParameter
(
const
std::string& name)
const
{
247
return
string_parameters_
.at(name);
248
}
249
251
const
std::map<std::string, std::string>&
getStringParameters
()
const
{
252
return
string_parameters_
;
253
}
254
261
void
setStringParameter
(
const
std::string& name, std::string value) {
262
string_parameters_
[name] = value;
263
}
264
272
void
stream
(std::ostream& s)
const
;
273
275
void
print
()
const
;
276
288
friend
std::ostream&
operator<<
(std::ostream& s,
const
ldmx::RunHeader
& h) {
289
h.
stream
(s);
290
return
s;
291
}
292
293
private
:
295
int
run_number_
{0};
296
298
std::string
detector_name_
{
""
};
299
301
std::string
description_
{
""
};
302
304
int
run_start_
{0};
305
307
int
run_end_
{0};
308
323
int
num_tries_
{0};
324
326
bool
completed_
{
false
};
327
332
std::string
software_tag_
{GIT_SHA1};
333
337
std::string
ldmxsw_version_
{LDMXSW_VERSION};
338
340
std::map<std::string, int>
int_parameters_
;
341
343
std::map<std::string, float>
float_parameters_
;
344
346
std::map<std::string, std::string>
string_parameters_
;
347
348
ClassDef(
RunHeader
, 7);
349
350
};
// RunHeader
351
352
}
// namespace ldmx
353
354
#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:68
ldmx::RunHeader::getIntParameter
int getIntParameter(const std::string &name) const
Get an int parameter value.
Definition
RunHeader.h:196
ldmx::RunHeader::setFloatParameter
void setFloatParameter(const std::string &name, float value)
Set a float parameter value.
Definition
RunHeader.h:236
ldmx::RunHeader::getStringParameter
std::string getStringParameter(const std::string &name) const
Get a string parameter value.
Definition
RunHeader.h:246
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:221
ldmx::RunHeader::int_parameters_
std::map< std::string, int > int_parameters_
Map of int parameters.
Definition
RunHeader.h:340
ldmx::RunHeader::string_parameters_
std::map< std::string, std::string > string_parameters_
Map of string parameters.
Definition
RunHeader.h:346
ldmx::RunHeader::run_number_
int run_number_
Run number.
Definition
RunHeader.h:295
ldmx::RunHeader::setRunEnd
void setRunEnd(const int runEnd)
Set the end time of the run in seconds since epoch.
Definition
RunHeader.h:148
ldmx::RunHeader::getIntParameters
const std::map< std::string, int > & getIntParameters() const
Get a const reference to all int parameters.
Definition
RunHeader.h:201
ldmx::RunHeader::setDetectorName
void setDetectorName(const std::string &det)
Set the name of the detector that was used in this run.
Definition
RunHeader.h:102
ldmx::RunHeader::num_tries_
int num_tries_
Total number of events that were begun during the production of this run.
Definition
RunHeader.h:323
ldmx::RunHeader::setStringParameter
void setStringParameter(const std::string &name, std::string value)
Set a string parameter value.
Definition
RunHeader.h:261
ldmx::RunHeader::~RunHeader
virtual ~RunHeader()
Destructor.
Definition
RunHeader.h:93
ldmx::RunHeader::description_
std::string description_
Run description.
Definition
RunHeader.h:301
ldmx::RunHeader::getSoftwareTag
const std::string & getSoftwareTag() const
Definition
RunHeader.h:108
ldmx::RunHeader::float_parameters_
std::map< std::string, float > float_parameters_
Map of float parameters.
Definition
RunHeader.h:343
ldmx::RunHeader::VERSION_WITH_COMPLETED
static constexpr int VERSION_WITH_COMPLETED
The first class version that writes completed_.
Definition
RunHeader.h:76
ldmx::RunHeader::getNumTries
int getNumTries() const
Get the total number of tries that were done during the production of this run.
Definition
RunHeader.h:156
ldmx::RunHeader::getLdmxswVersion
const std::string & getLdmxswVersion() const
Definition
RunHeader.h:113
ldmx::RunHeader::setRunStart
void setRunStart(const int runStart)
Set the run start time in seconds since epoch.
Definition
RunHeader.h:134
ldmx::RunHeader::getDescription
const std::string & getDescription() const
Definition
RunHeader.h:116
ldmx::RunHeader::getRunStart
int getRunStart() const
Get the start time of the run in seconds since epoch.
Definition
RunHeader.h:127
ldmx::RunHeader::run_end_
int run_end_
Run end in seconds since epoch.
Definition
RunHeader.h:307
ldmx::RunHeader::setCompleted
void setCompleted(const bool completed)
Mark whether this run was completed.
Definition
RunHeader.h:188
ldmx::RunHeader::completed_
bool completed_
True only once the run finished and the file was closed cleanly.
Definition
RunHeader.h:326
ldmx::RunHeader::getDetectorName
const std::string & getDetectorName() const
Definition
RunHeader.h:99
ldmx::RunHeader::getRunEnd
int getRunEnd() const
Get the end time of the run in seconds since epoch.
Definition
RunHeader.h:141
ldmx::RunHeader::operator<<
friend std::ostream & operator<<(std::ostream &s, const ldmx::RunHeader &h)
Stream this object to an output stream.
Definition
RunHeader.h:288
ldmx::RunHeader::setDescription
void setDescription(const std::string &des)
Set the description of this run.
Definition
RunHeader.h:119
ldmx::RunHeader::isCompleted
bool isCompleted() const
Check whether the file holding this run was closed cleanly.
Definition
RunHeader.h:178
ldmx::RunHeader::run_start_
int run_start_
Run start in seconds since epoch.
Definition
RunHeader.h:304
ldmx::RunHeader::getFloatParameters
const std::map< std::string, float > & getFloatParameters() const
Get a const reference to all float parameters.
Definition
RunHeader.h:226
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:168
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:337
ldmx::RunHeader::getStringParameters
const std::map< std::string, std::string > & getStringParameters() const
Get a const reference to all string parameters.
Definition
RunHeader.h:251
ldmx::RunHeader::detector_name_
std::string detector_name_
Detector name.
Definition
RunHeader.h:298
ldmx::RunHeader::setIntParameter
void setIntParameter(const std::string &name, int value)
Set an int parameter value.
Definition
RunHeader.h:211
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:332
ldmx::RunHeader::getRunNumber
int getRunNumber() const
Definition
RunHeader.h:96
Generated by
1.12.0