Belle II Software development
EventExtraInfo.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <map>
12
13#include <TObject.h>
14
15namespace Belle2 {
25 class EventExtraInfo : public TObject {
26
27 public:
32 float getExtraInfo(const std::string& name) const;
33
35 bool hasExtraInfo(const std::string& name) const;
36
37
39 void removeExtraInfo();
40
45 void addExtraInfo(const std::string& name, float value);
46
51 void setExtraInfo(const std::string& name, float value);
52
54 std::string getInfoHTML() const;
55
57 std::vector<std::string> getNames() const;
58
59
64 std::string getExtraStringInfo(const std::string& name) const;
65
67 bool hasExtraStringInfo(const std::string& name) const;
68
69
72
77 void addExtraStringInfo(const std::string& name, const std::string& value);
78
83 void setExtraStringInfo(const std::string& name, const std::string& value);
84
86 std::vector<std::string> getStringInfoNames() const;
87
90 void addEventTypeIfNotSet(const std::string& eventType)
91 {
96 if (!hasExtraStringInfo("eventType"))
97 addExtraStringInfo(std::string("eventType"), eventType);
98 };
99
102 std::string getEventType() const;
103
104 private:
105 std::map<std::string, float> eventExtraInfo;
107 std::map<std::string, std::string> eventExtraStringInfo;
110 // v3. Add m_eventType
111 };
112
114} // end namespace Belle2
115
Class to stores ExtraInfo of the whole event.
void removeExtraInfo()
Removes extra info from event.
std::string getExtraStringInfo(const std::string &name) const
Return given value if set.
std::map< std::string, std::string > eventExtraStringInfo
map variable names to values for string data type.
float getExtraInfo(const std::string &name) const
Return given value if set.
std::map< std::string, float > eventExtraInfo
map variable names to values.
bool hasExtraStringInfo(const std::string &name) const
Return whether the extra string info with the given name is set.
bool hasExtraInfo(const std::string &name) const
Return whether the extra info with the given name is set.
std::string getEventType() const
Get the event type information.
void addExtraStringInfo(const std::string &name, const std::string &value)
Sets the user-defined data of given name to the given value.
void removeExtraStringInfo()
Removes extra string info from event.
void addExtraInfo(const std::string &name, float value)
Sets the user-defined data of given name to the given value.
void setExtraStringInfo(const std::string &name, const std::string &value)
Sets the user-defined data of given name to the given value.
ClassDef(EventExtraInfo, 3)
Class to store event extra info.
std::vector< std::string > getStringInfoNames() const
Grab the names in this event extra string info (for printing etc)
std::vector< std::string > getNames() const
Grab the names in this event extra info (for printing etc)
std::string getInfoHTML() const
Return a short summary of this object's contents in HTML format.
void addEventTypeIfNotSet(const std::string &eventType)
Add the event type information if it is not already set.
void setExtraInfo(const std::string &name, float value)
Sets the user-defined data of given name to the given value.
Abstract base class for different kinds of events.