Belle II Software  release-05-01-25
G4MonopoleFieldSetup.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Dmitrii Neverov *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 // modified from GEANT4 exoticphysics/monopole/*
12 
13 #pragma once
14 
15 #include <G4MagneticField.hh>
16 
17 class G4FieldManager;
18 class G4ChordFinder;
19 class G4MagIntegratorStepper;
20 
21 namespace Belle2 {
27  namespace Monopoles {
28 
29  class G4MonopoleEquation;
30 
36  public:
37 
46  void SwitchChordFinder(G4int val);
47 
54 
55  private:
56 
71 
72  G4FieldManager* fFieldManager ;
73  G4ChordFinder* fMonopoleChordFinder ;
74  G4ChordFinder* fbasf2ChordFinder ;
76  G4MagneticField* fMagneticField ;
77  G4MagIntegratorStepper* fMonopoleStepper ;
78  G4double fMinStep ;
82  };
83 
84  } //end Monopoles namespace
85 
87 } //end Belle2 namespace
Belle2::Monopoles::G4MonopoleFieldSetup::fMonopoleStepper
G4MagIntegratorStepper * fMonopoleStepper
Stepper for monopoles.
Definition: G4MonopoleFieldSetup.h:77
Belle2::Monopoles::G4MonopoleFieldSetup::fFieldManager
G4FieldManager * fFieldManager
Field manager that holds current chord finder.
Definition: G4MonopoleFieldSetup.h:72
Belle2::Monopoles::G4MonopoleFieldSetup::fMinStep
G4double fMinStep
Minimal step.
Definition: G4MonopoleFieldSetup.h:78
Belle2::Monopoles::G4MonopoleFieldSetup::fMonopoleChordFinder
G4ChordFinder * fMonopoleChordFinder
Chord finder for monopoles.
Definition: G4MonopoleFieldSetup.h:73
Belle2::Monopoles::G4MonopoleFieldSetup::GetMonopoleFieldSetup
static G4MonopoleFieldSetup * GetMonopoleFieldSetup()
Returns G4MonopoleFieldSetup instance.
Definition: G4MonopoleFieldSetup.cc:45
Belle2::Monopoles::G4MonopoleFieldSetup::operator=
G4MonopoleFieldSetup & operator=(const G4MonopoleFieldSetup &copy)
Assignment operator should be hidden.
Belle2::Monopoles::G4MonopoleFieldSetup::fbasf2ChordFinder
G4ChordFinder * fbasf2ChordFinder
Chord finder taken from FullSim of basf2.
Definition: G4MonopoleFieldSetup.h:74
Belle2::Monopoles::G4MonopoleFieldSetup::SwitchChordFinder
void SwitchChordFinder(G4int val)
Switches chord finder between 1 - basf2 FullSim chord finder 2 - monopole chord finder Since monopole...
Definition: G4MonopoleFieldSetup.cc:62
Belle2::Monopoles::G4MonopoleFieldSetup::fMonopoleFieldSetup
static G4MonopoleFieldSetup * fMonopoleFieldSetup
The instance of this class.
Definition: G4MonopoleFieldSetup.h:80
Belle2::Monopoles::G4MonopoleFieldSetup::fMagneticField
G4MagneticField * fMagneticField
Magnetic field of basf2.
Definition: G4MonopoleFieldSetup.h:76
Belle2::Monopoles::G4MonopoleFieldSetup::~G4MonopoleFieldSetup
~G4MonopoleFieldSetup()
Destructor.
Definition: G4MonopoleFieldSetup.cc:55
Belle2::Monopoles::G4MonopoleFieldSetup
Monopole field setup singleton class, that takes care of switching between conventional particle tran...
Definition: G4MonopoleFieldSetup.h:35
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Monopoles::G4MonopoleFieldSetup::G4MonopoleFieldSetup
G4MonopoleFieldSetup()
Constructor.
Definition: G4MonopoleFieldSetup.cc:33
Belle2::Monopoles::G4MonopoleFieldSetup::fMonopoleEquation
G4MonopoleEquation * fMonopoleEquation
Monopole equation of motion.
Definition: G4MonopoleFieldSetup.h:75
Belle2::Monopoles::G4MonopoleEquation
Monopole equation of motion class.
Definition: G4MonopoleEquation.h:40