Belle II Software  release-08-01-10
BoostMCParticlesModule.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 /* Basf2 headers. */
12 #include <framework/core/Module.h>
13 #include <framework/database/DBObjPtr.h>
14 #include <framework/datastore/StoreArray.h>
15 #include <framework/dbobjects/BeamParameters.h>
16 #include <generators/utilities/InitialParticleGeneration.h>
17 #include <mdst/dataobjects/MCParticle.h>
18 
19 /* ROOT headers. */
20 #include <Math/LorentzRotation.h>
21 
22 /* C++ headers. */
23 #include <string>
24 
25 namespace Belle2 {
33  class BoostMCParticlesModule : public Module {
34 
35  public:
36 
39 
41  void initialize() override;
42 
44  void event() override;
45 
46 
47  private:
48 
51 
53  std::string m_mcParticlesName;
54 
57 
59  ROOT::Math::LorentzRotation m_boost;
60 
63 
66 
67  };
69 }
Module for boosting the MCParticles from CM to LAB frame.
bool m_firstEvent
Flag for keeping track of the first call of the event() method.
DBObjPtr< BeamParameters > m_beamParameters
Beam parameters.
void initialize() override
Initialize.
std::string m_mcParticlesName
Name of the MC particles StoreArray.
InitialParticleGeneration m_initial
Initial particle generation.
StoreArray< MCParticle > m_mcParticles
MC particles.
ROOT::Math::LorentzRotation m_boost
Boost rotation.
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Base class for Modules.
Definition: Module.h:72
Abstract base class for different kinds of events.