Belle II Software  release-08-01-10
ExtMessenger.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 #ifndef EXTMESSENGER_H_
10 #define EXTMESSENGER_H_
11 
12 #include <globals.hh>
13 #include <G4UImessenger.hh>
14 
15 class G4UIdirectory;
16 class G4UIcmdWithAString;
17 class G4UIcmdWithADoubleAndUnit;
18 class G4UIcmdWithADouble;
19 
20 namespace Belle2 {
26  namespace Simulation {
27 
28  class ExtStepLengthLimitProcess;
29  class ExtMagFieldLimitProcess;
30  class ExtEnergyLoss;
31 
36  class ExtMessenger: public G4UImessenger {
37 
38  public:
39 
43  ExtEnergyLoss*);
44 
46  ~ExtMessenger();
47 
49  void SetNewValue(G4UIcommand*, G4String);
50 
51  private:
52 
55 
58 
61 
63  G4UIdirectory* m_dir;
64 
66  G4UIdirectory* m_dirLimits;
67 
69  G4UIcmdWithADoubleAndUnit* m_stepLengthLimitCmd;
70 
72  G4UIcmdWithADouble* m_magFieldLimitCmd;
73 
75  G4UIcmdWithADouble* m_energyLossCmd;
76 
77  };
78 
79  } //end namespace Simulation
80 
82 } //end Belle2 namespace
83 
84 #endif /* EXTMESSENGER_H_ */
Define physics process to calculate energy loss without fluctuations.
Definition: ExtEnergyLoss.h:32
Defines the physics process that avoids hit invocation in sensitive volumes.
Define the mechanism by which the user can communicate with the geant4e extrapolator using geant4 UI ...
Definition: ExtMessenger.h:36
G4UIcmdWithADouble * m_magFieldLimitCmd
Defines UI command "/geant4e/limits/magField" to limit step length.
Definition: ExtMessenger.h:72
ExtMessenger(ExtStepLengthLimitProcess *, ExtMagFieldLimitProcess *, ExtEnergyLoss *)
constructor
Definition: ExtMessenger.cc:24
G4UIdirectory * m_dir
Defines UI directory for "/geant4e/" commands.
Definition: ExtMessenger.h:63
G4UIcmdWithADoubleAndUnit * m_stepLengthLimitCmd
Defines UI command "/geant4e/limits/stepLength" to limit step length.
Definition: ExtMessenger.h:69
void SetNewValue(G4UIcommand *, G4String)
Process a geant4 UI command.
Definition: ExtMessenger.cc:64
ExtEnergyLoss * m_energyLossAction
Process that limits the geant4e step length due to energy loss.
Definition: ExtMessenger.h:60
ExtStepLengthLimitProcess * m_stepLengthAction
Process that limits the geant4e step length.
Definition: ExtMessenger.h:54
G4UIcmdWithADouble * m_energyLossCmd
defines UI command "/geant4e/limits/energyLoss" to limit step length
Definition: ExtMessenger.h:75
ExtMagFieldLimitProcess * m_magFieldAction
Process that limits the geant4e step length in magnetic field.
Definition: ExtMessenger.h:57
G4UIdirectory * m_dirLimits
Defines UI directory for "/geant4e/limits/" commands.
Definition: ExtMessenger.h:66
Defines the physics process that avoids hit invocation in sensitive volumes.
Abstract base class for different kinds of events.