Belle II Software  release-06-00-14
RegisterEventLevelTrackingInfoModule.cc
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 #include <tracking/modules/general/RegisterEventLevelTrackingInfoModule.h>
10 
11 using namespace Belle2;
12 
13 REG_MODULE(RegisterEventLevelTrackingInfo)
14 
16 {
17  setDescription("Simple module that registers the EventLevelTrackingInfo that is used to set general tracking-related flags");
18  setPropertyFlags(c_ParallelProcessingCertified);
19 
20  addParam("EventLevelTrackingInfoName",
21  m_eventLevelTrackingInfoName,
22  "Name of the EventLevelTrackingInfo that should be used (different one for ROI-finding).",
23  m_eventLevelTrackingInfoName);
24 }
25 
26 
28 {
29  // If m_eventLevelTrackingInfo already exists we'd like to keep it (typically from svd/pxd reconstruction)
31  m_createNewObj = true;
33  }
34 }
35 
36 
38 {
39  if (m_createNewObj) {
40  m_eventLevelTrackingInfo.create();
41  }
42 }
43 
@ c_ErrorIfAlreadyRegistered
If the object/array was already registered, produce an error (aborting initialisation).
Definition: DataStore.h:72
Base class for Modules.
Definition: Module.h:72
Module to create the EventLevelTrackingInfo that is used to set general tracking-related flags.
std::string m_eventLevelTrackingInfoName
Name of the StoreObject to access the event level tracking information.
void initialize() override
Declare required StoreArray.
StoreObjPtr< EventLevelTrackingInfo > m_eventLevelTrackingInfo
StoreObject to access the event level tracking information.
void event() override
Event processing, create store array.
bool m_createNewObj
Used to check if the object already exists (we need the object already during svd/pxd reconstruction)
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition: Module.h:650
Abstract base class for different kinds of events.