Belle II Software light-2406-ragdoll
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 addEventType(const std::string& eventType)
91 {
92 addExtraStringInfo(std::string("eventType"), eventType);
93 };
94
97 std::string getEventType() const;
98
99 private:
100 std::map<std::string, float> eventExtraInfo;
102 std::map<std::string, std::string> eventExtraStringInfo;
105 // v3. Add m_eventType
106 };
107
109} // end namespace Belle2
110
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 addEventType(const std::string &eventType)
Add the event type information.
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 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.
Definition: ClusterUtils.h:24