LDMX Software
Framework
include
Framework
EventHeader.h
Go to the documentation of this file.
1
8
#ifndef EVENT_EVENTHEADER_H_
9
#define EVENT_EVENTHEADER_H_
10
11
// ROOT
12
#include "TObject.h"
//For ClassDef
13
#include "TTimeStamp.h"
14
15
// STL
16
#include <iostream>
17
#include <map>
18
#include <string>
19
20
namespace
ldmx {
21
44
class
EventHeader
{
45
public
:
49
static
const
std::string
BRANCH
;
50
54
EventHeader
() =
default
;
55
59
virtual
~EventHeader
() =
default
;
60
66
void
clear
(Option_t* o =
""
);
67
72
void
print
(Option_t* o =
""
)
const
;
73
78
int
getEventNumber
()
const
{
return
event_number_
; }
79
84
int
getRun
()
const
{
return
run_
; }
85
92
const
TTimeStamp&
getTimestamp
()
const
{
return
timestamp_
; }
93
98
double
getWeight
()
const
{
return
weight_
; }
99
104
bool
isRealData
()
const
{
return
is_real_data_
; }
105
110
void
setRealData
(
bool
yes =
true
) {
is_real_data_
= yes; }
111
120
void
setEventNumber
(
int
eventNumber) { this->
event_number_
= eventNumber; }
121
129
void
setRun
(
int
run) { this->
run_
= run; }
130
138
void
setTimestamp
(
const
TTimeStamp& timestamp) {
139
this->
timestamp_
= timestamp;
140
}
141
152
void
setWeight
(
double
weight) { this->
weight_
= weight; }
153
159
bool
hasIntParameter
(
const
std::string& name)
const
{
160
return
int_parameters_
.find(name) !=
int_parameters_
.end();
161
}
162
169
int
getIntParameter
(
const
std::string& name)
const
;
170
177
void
setIntParameter
(
const
std::string& name,
int
value) {
178
int_parameters_
[name] = value;
179
}
180
187
float
getFloatParameter
(
const
std::string& name)
const
;
188
194
void
setFloatParameter
(
const
std::string& name,
float
value) {
195
float_parameters_
[name] = value;
196
}
197
204
std::string
getStringParameter
(
const
std::string& name)
const
;
205
211
void
setStringParameter
(
const
std::string& name, std::string value) {
212
string_parameters_
[name] = value;
213
}
214
215
protected
:
219
int
event_number_
{-1};
220
224
int
run_
{-1};
225
229
TTimeStamp
timestamp_
{0, 0};
230
234
double
weight_
{1.0};
235
239
bool
is_real_data_
{
false
};
240
244
std::map<std::string, int>
int_parameters_
;
245
249
std::map<std::string, float>
float_parameters_
;
250
254
std::map<std::string, std::string>
string_parameters_
;
255
259
ClassDef
(
EventHeader
, 3);
260
};
261
262
}
// namespace ldmx
263
264
#endif
/* EVENT_EVENTHEADER_H_ */
ldmx::EventHeader
Provides header information an event such as event number and timestamp.
Definition
EventHeader.h:44
ldmx::EventHeader::string_parameters_
std::map< std::string, std::string > string_parameters_
The string parameters.
Definition
EventHeader.h:254
ldmx::EventHeader::weight_
double weight_
The event weight.
Definition
EventHeader.h:234
ldmx::EventHeader::timestamp_
TTimeStamp timestamp_
The event timestamp.
Definition
EventHeader.h:229
ldmx::EventHeader::getRun
int getRun() const
Return the run number.
Definition
EventHeader.h:84
ldmx::EventHeader::getIntParameter
int getIntParameter(const std::string &name) const
Get an int parameter value.
Definition
EventHeader.cxx:34
ldmx::EventHeader::run_
int run_
The run number.
Definition
EventHeader.h:224
ldmx::EventHeader::getTimestamp
const TTimeStamp & getTimestamp() const
Get the event's timestamp.
Definition
EventHeader.h:92
ldmx::EventHeader::setEventNumber
void setEventNumber(int eventNumber)
Set the event number.
Definition
EventHeader.h:120
ldmx::EventHeader::ClassDef
ClassDef(EventHeader, 3)
ROOT class definition.
ldmx::EventHeader::getFloatParameter
float getFloatParameter(const std::string &name) const
Get a float parameter value.
Definition
EventHeader.cxx:42
ldmx::EventHeader::isRealData
bool isRealData() const
Is this a real data event?
Definition
EventHeader.h:104
ldmx::EventHeader::setRun
void setRun(int run)
Set the run number.
Definition
EventHeader.h:129
ldmx::EventHeader::setStringParameter
void setStringParameter(const std::string &name, std::string value)
Set a string parameter value.
Definition
EventHeader.h:211
ldmx::EventHeader::getWeight
double getWeight() const
Get the event weight (default of 1.0).
Definition
EventHeader.h:98
ldmx::EventHeader::hasIntParameter
bool hasIntParameter(const std::string &name) const
Check whether an int parameter exists.
Definition
EventHeader.h:159
ldmx::EventHeader::getEventNumber
int getEventNumber() const
Return the event number.
Definition
EventHeader.h:78
ldmx::EventHeader::setRealData
void setRealData(bool yes=true)
set whether this event is real or MC data
Definition
EventHeader.h:110
ldmx::EventHeader::setIntParameter
void setIntParameter(const std::string &name, int value)
Set an int parameter value.
Definition
EventHeader.h:177
ldmx::EventHeader::setTimestamp
void setTimestamp(const TTimeStamp ×tamp)
Set the timestamp.
Definition
EventHeader.h:138
ldmx::EventHeader::float_parameters_
std::map< std::string, float > float_parameters_
The float parameters.
Definition
EventHeader.h:249
ldmx::EventHeader::EventHeader
EventHeader()=default
Class constructor.
ldmx::EventHeader::setWeight
void setWeight(double weight)
Set the event weight.
Definition
EventHeader.h:152
ldmx::EventHeader::setFloatParameter
void setFloatParameter(const std::string &name, float value)
Set a float parameter value.
Definition
EventHeader.h:194
ldmx::EventHeader::~EventHeader
virtual ~EventHeader()=default
Class destructor.
ldmx::EventHeader::BRANCH
static const std::string BRANCH
Name of EventHeader branch.
Definition
EventHeader.h:49
ldmx::EventHeader::is_real_data_
bool is_real_data_
Is this event real data?
Definition
EventHeader.h:239
ldmx::EventHeader::getStringParameter
std::string getStringParameter(const std::string &name) const
Get a string parameter value.
Definition
EventHeader.cxx:50
ldmx::EventHeader::event_number_
int event_number_
The event number.
Definition
EventHeader.h:219
ldmx::EventHeader::int_parameters_
std::map< std::string, int > int_parameters_
The int parameters.
Definition
EventHeader.h:244
ldmx::EventHeader::print
void print(Option_t *o="") const
Print this object.
Definition
EventHeader.cxx:22
ldmx::EventHeader::clear
void clear(Option_t *o="")
Clear information from this object.
Definition
EventHeader.cxx:11
Generated by
1.12.0