Belle II Software  release-05-02-19
ExtMessenger.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010-2011 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Leo Piilonen *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef EXTMESSENGER_H_
12 #define EXTMESSENGER_H_
13 
14 #include <globals.hh>
15 #include <G4UImessenger.hh>
16 
17 class G4UIdirectory;
18 class G4UIcmdWithAString;
19 class G4UIcmdWithADoubleAndUnit;
20 class G4UIcmdWithADouble;
21 
22 namespace Belle2 {
28  namespace Simulation {
29 
30  class ExtStepLengthLimitProcess;
31  class ExtMagFieldLimitProcess;
32  class ExtEnergyLoss;
33 
38  class ExtMessenger: public G4UImessenger {
39 
40  public:
41 
45  ExtEnergyLoss*);
46 
48  ~ExtMessenger();
49 
51  void SetNewValue(G4UIcommand*, G4String);
52 
53  private:
54 
57 
60 
63 
65  G4UIdirectory* m_dir;
66 
68  G4UIdirectory* m_dirLimits;
69 
71  G4UIcmdWithADoubleAndUnit* m_stepLengthLimitCmd;
72 
74  G4UIcmdWithADouble* m_magFieldLimitCmd;
75 
77  G4UIcmdWithADouble* m_energyLossCmd;
78 
79  };
80 
81  } //end namespace Simulation
82 
84 } //end Belle2 namespace
85 
86 #endif /* EXTMESSENGER_H_ */
Belle2::Simulation::ExtMessenger::SetNewValue
void SetNewValue(G4UIcommand *, G4String)
Process a geant4 UI command.
Definition: ExtMessenger.cc:66
Belle2::Simulation::ExtMessenger::m_energyLossCmd
G4UIcmdWithADouble * m_energyLossCmd
defines UI command "/geant4e/limits/energyLoss" to limit step length
Definition: ExtMessenger.h:77
Belle2::Simulation::ExtEnergyLoss
Define physics process to calculate energy loss without fluctuations.
Definition: ExtEnergyLoss.h:34
Belle2::Simulation::ExtMessenger::~ExtMessenger
~ExtMessenger()
destructor
Definition: ExtMessenger.cc:57
Belle2::Simulation::ExtMessenger::m_stepLengthLimitCmd
G4UIcmdWithADoubleAndUnit * m_stepLengthLimitCmd
Defines UI command "/geant4e/limits/stepLength" to limit step length.
Definition: ExtMessenger.h:71
Belle2::Simulation::ExtMessenger::ExtMessenger
ExtMessenger(ExtStepLengthLimitProcess *, ExtMagFieldLimitProcess *, ExtEnergyLoss *)
constructor
Definition: ExtMessenger.cc:26
Belle2::Simulation::ExtStepLengthLimitProcess
Defines the physics process that avoids hit invocation in sensitive volumes.
Definition: ExtStepLengthLimitProcess.h:28
Belle2::Simulation::ExtMessenger
Define the mechanism by which the user can communicate with the geant4e extrapolator using geant4 UI ...
Definition: ExtMessenger.h:38
Belle2::Simulation::ExtMagFieldLimitProcess
Defines the physics process that avoids hit invocation in sensitive volumes.
Definition: ExtMagFieldLimitProcess.h:29
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Simulation::ExtMessenger::m_magFieldLimitCmd
G4UIcmdWithADouble * m_magFieldLimitCmd
Defines UI command "/geant4e/limits/magField" to limit step length.
Definition: ExtMessenger.h:74
Belle2::Simulation::ExtMessenger::m_dirLimits
G4UIdirectory * m_dirLimits
Defines UI directory for "/geant4e/limits/" commands.
Definition: ExtMessenger.h:68
Belle2::Simulation::ExtMessenger::m_magFieldAction
ExtMagFieldLimitProcess * m_magFieldAction
Process that limits the geant4e step length in magnetic field.
Definition: ExtMessenger.h:59
Belle2::Simulation::ExtMessenger::m_stepLengthAction
ExtStepLengthLimitProcess * m_stepLengthAction
Process that limits the geant4e step length.
Definition: ExtMessenger.h:56
Belle2::Simulation::ExtMessenger::m_dir
G4UIdirectory * m_dir
Defines UI directory for "/geant4e/" commands.
Definition: ExtMessenger.h:65
Belle2::Simulation::ExtMessenger::m_energyLossAction
ExtEnergyLoss * m_energyLossAction
Process that limits the geant4e step length due to energy loss.
Definition: ExtMessenger.h:62