Belle II Software  release-08-01-10
ExtraInfoPrinterModule.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 #include <framework/core/Module.h>
11 #include <framework/datastore/StoreObjPtr.h>
12 
13 #include <analysis/dataobjects/ParticleList.h>
14 #include <analysis/dataobjects/ParticleExtraInfoMap.h>
15 #include <framework/dataobjects/EventExtraInfo.h>
16 
17 namespace Belle2 {
28  class ExtraInfoPrinterModule : public Module {
29  private:
30  bool m_printOnce = true;
31  bool m_hasPrinted = false;
32  std::string m_listName;
36  public:
40  virtual void initialize() override;
42  virtual void event() override;
43  };
45 } // end namespace Belle2
Prints the names of the ExtraInfos for a ParticleList or for the Event.
virtual void initialize() override
Initialises module.
virtual void event() override
Called for each event.
StoreObjPtr< EventExtraInfo > m_eee
the EventExtraInfo
StoreObjPtr< ParticleList > m_list
the ParticleList itself
bool m_hasPrinted
internal check if I've already printed
std::string m_listName
name of the ParticleList
bool m_printOnce
print for he first event or for all events?
StoreObjPtr< ParticleExtraInfoMap > m_peem
the map of particles to extra info
Base class for Modules.
Definition: Module.h:72
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.