Belle II Software  release-05-02-19
Geant4MaterialInterface.h
1 /* Copyright 2014, Ludwig-Maximilians-Universität München,
2  Authors: Tobias Schlüter, Thomas Hauth
3 
4  Provided as part of the Belle II software framework basf2. Its
5  licenses apply.
6 */
7 
8 #pragma once
9 
10 #include <memory>
11 
12 #include "genfit/AbsMaterialInterface.h"
13 
14 class G4VPhysicalVolume;
15 
16 namespace Belle2 {
29 
30  public:
31 
34 
38  bool initTrack(double posX, double posY, double posZ,
39  double dirX, double dirY, double dirZ) override;
40 
44 
51  double findNextBoundary(const genfit::RKTrackRep* rep,
52  const genfit::M1x7& state7,
53  double sMax,
54  bool varField = true) override;
55 
56  private:
57 
59  std::unique_ptr<class G4SafeNavigator> nav_;
60 
62  const class G4VPhysicalVolume* currentVolume_;
63 
67  bool m_takingFullStep = false;
68  };
69 
71 }
genfit::AbsMaterialInterface
Abstract base class for geometry interfacing.
Definition: AbsMaterialInterface.h:39
Belle2::Geant4MaterialInterface::nav_
std::unique_ptr< class G4SafeNavigator > nav_
holds a object of G4SafeNavigator, which is located in Geant4MaterialInterface.cc
Definition: Geant4MaterialInterface.h:59
Belle2::Geant4MaterialInterface::m_takingFullStep
bool m_takingFullStep
stores whether to call SetGeometricallyLimitedStep() because the full step length was taken.
Definition: Geant4MaterialInterface.h:67
genfit::RKTrackRep
AbsTrackRep with 5D track parameterization in plane coordinates: (q/p, u', v', u, v)
Definition: RKTrackRep.h:72
Belle2::Geant4MaterialInterface::currentVolume_
const class G4VPhysicalVolume * currentVolume_
the volume the extraoplation is currenly located in
Definition: Geant4MaterialInterface.h:62
Belle2::Geant4MaterialInterface
AbsMaterialInterface implementation for use with Geant4's navigator.
Definition: Geant4MaterialInterface.h:28
genfit::RKMatrix< 1, 7 >
Belle2::Geant4MaterialInterface::initTrack
bool initTrack(double posX, double posY, double posZ, double dirX, double dirY, double dirZ) override
Initialize the navigator at given position and with given direction.
Definition: Geant4MaterialInterface.cc:284
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Geant4MaterialInterface::getMaterialParameters
genfit::Material getMaterialParameters() override
Get material parameters in current material.
Definition: Geant4MaterialInterface.cc:304
Belle2::Geant4MaterialInterface::findNextBoundary
double findNextBoundary(const genfit::RKTrackRep *rep, const genfit::M1x7 &state7, double sMax, bool varField=true) override
Make a step (following the curvature) until step length sMax or the next boundary is reached.
Definition: Geant4MaterialInterface.cc:334
genfit::Material
Definition: Material.h:10