Belle II Software development
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
19namespace 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.