Belle II Software  release-08-01-10
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 
15 namespace 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 
71  void removeExtraStringInfo();
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.