Belle II Software  release-08-01-10
EventT0GeneratorModule.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 <framework/core/Module.h>
12 
13 #include <framework/datastore/StoreArray.h>
14 #include <framework/datastore/StoreObjPtr.h>
15 #include <mdst/dataobjects/MCParticle.h>
16 #include <framework/dataobjects/MCInitialParticles.h>
17 #include <simulation/dataobjects/SimClockState.h>
18 
19 #include <framework/database/DBObjPtr.h>
20 #include <framework/dbobjects/HardwareClockSettings.h>
21 #include <framework/dbobjects/BunchStructure.h>
22 
23 
24 namespace Belle2 {
39  class EventT0GeneratorModule : public Module {
40 
41  public:
42 
47 
52  virtual void initialize() override;
53 
57  virtual void event() override;
58 
59  private:
60 
61  // module steering parameters
65  double m_fixedT0 = NAN;
66  double m_maximumT0 = NAN;
67  bool m_isCosmics = false;
73  // datastore collections
78  // conditions DB objects
82  };
83 
85 } // Belle2 namespace
86 
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Module generates discrete event t0 in ~4ns steps (bunch spacing) according to (double) gaussian distr...
double m_tailGaussMeanCosmics
mean of tail gaussian [ns] for cosmics
double m_maximumT0
if set, randomize between -maximum and maximum
bool m_isCosmics
if true L1 jitter for cosmics is simulated
virtual void initialize() override
Initialize the Module.
double m_fixedT0
if set, a fixed t0 value is used instead of a gaussian distribution
DBObjPtr< HardwareClockSettings > m_clockSettings
hardware clock settings
virtual void event() override
Event processor.
double m_tailGaussFractionCosmics
area fraction of core gaussian for cosmics
double m_coreGaussWidth
sigma of core gaussian [ns]
double m_tailGaussWidthCosmics
sigma of tail gaussian [ns] for cosmics
DBObjPtr< BunchStructure > m_bunchStructure
bunch structure (fill pattern)
double m_tailGaussFraction
area fraction of core gaussian
double m_tailGaussWidth
sigma of tail gaussian [ns]
StoreArray< MCParticle > m_mcParticles
MC particles.
double m_coreGaussWidthCosmics
sigma of core gaussian [ns] for cosmics
StoreObjPtr< SimClockState > m_simClockState
generated hardware clock state
StoreObjPtr< MCInitialParticles > m_initialParticles
beam particles
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.