Belle II Software  release-08-01-10
ExtModule.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/gearbox/Const.h>
13 #include <framework/core/Module.h>
14 
15 /* C++ headers. */
16 #include <string>
17 #include <vector>
18 
19 namespace Belle2 {
25  class TrackExtrapolateG4e;
26 
38  class ExtModule : public Module {
39 
40  public:
41 
43  ExtModule();
44 
46  ~ExtModule() override;
47 
49  void initialize() override;
50 
52  void beginRun() override;
53 
55  void event() override;
56 
58  void endRun() override;
59 
61  void terminate() override;
62 
63  protected:
64 
66  std::vector<int> m_PDGCodes;
67 
69  std::vector<Const::ChargedStable> m_Hypotheses;
70 
72  double m_MinPt;
73 
75  double m_MinKE;
76 
78  double m_MaxStep;
79 
83 
85  std::vector<std::string> m_UICommands;
86 
89 
92 
95 
98 
99  private:
100 
103 
104  };
105 
107 } // end of namespace Belle2
The geant4e-based track extrapolation module.
Definition: ExtModule.h:38
~ExtModule() override
destructor
Definition: ExtModule.cc:72
ExtModule()
constructor
Definition: ExtModule.cc:32
double m_DeltaChordInMagneticField
User-defined maximum miss-distance between the trajectory curve and its linear chord(s) approximation...
Definition: ExtModule.h:97
void initialize() override
Initialize for track extrapolation.
Definition: ExtModule.cc:76
void event() override
Performs track extrapolation for all tracks in one event.
Definition: ExtModule.cc:134
int m_TrackingVerbosity
User-defined tracking verbosity: 0=Silent; 1=Min info per step; 2=sec particles; 3=pre/post step info...
Definition: ExtModule.h:82
void endRun() override
Perform end-of-run actions.
Definition: ExtModule.cc:139
void terminate() override
Terminates the module.
Definition: ExtModule.cc:144
double m_MaxStep
User-define maximum step size in cm (0 for no upper limit)
Definition: ExtModule.h:78
std::vector< std::string > m_UICommands
User-defined list of Geant4 UI commands that should be applied before the extrapolation starts.
Definition: ExtModule.h:85
void beginRun() override
Perform beginning-of-run actions.
Definition: ExtModule.cc:129
std::vector< Const::ChargedStable > m_Hypotheses
ChargedStable hypotheses.
Definition: ExtModule.h:69
double m_MinPt
User-defined minimum transverse momentum in GeV/c for extrapolation to be started.
Definition: ExtModule.h:72
TrackExtrapolateG4e * m_Extrapolator
Pointer to the TrackExtrapoleG4e singleton.
Definition: ExtModule.h:102
bool m_EnableVisualization
User-defined Geant4 visualization support: true to enable.
Definition: ExtModule.h:88
double m_MagneticCacheDistance
User-defined minimal distance for magnetic field lookup. If distance is smaller, return cached value.
Definition: ExtModule.h:94
std::vector< int > m_PDGCodes
User-selected PDG codes to extrapolate (anti-particles are included implicitly)
Definition: ExtModule.h:66
double m_MinKE
User-defined minimum kinetic energy in GeV for extrapolation to continue.
Definition: ExtModule.h:75
std::string m_MagneticFieldStepperName
User-defined magnetic field stepper to use.
Definition: ExtModule.h:91
Base class for Modules.
Definition: Module.h:72
geant4e-based track extrapolation.
Abstract base class for different kinds of events.