29#ifndef G4ChannelingFastSimCrystalData_h
30#define G4ChannelingFastSimCrystalData_h 1
38#include <unordered_map>
105 long long int fNChannelx=0;
107 long long int fNChannely=0;
111 G4int fNpointsx=0,fNpointsy=0;
117 std::vector <G4double> fN0;
118 std::vector <G4double> fU1;
119 std::vector <G4double> fZ1;
120 std::vector <G4double> fAN;
Definition of the G4ChannelingFastSimInterpolation class The class includes spline interpolation coef...
CLHEP::Hep3Vector G4ThreeVector
Definition of the G4VChannelingFastSimCrystalData class The class contains the data and properties re...
G4ThreeVector CoordinatesFromBoxToLattice(const G4ThreeVector &pos0)
G4double AngleXShift(G4double z)
auxialiary function to transform the horizontal angle
G4ChannelingFastSimCrystalData()
virtual ~G4ChannelingFastSimCrystalData()=default
G4double AngleXFromBoxToLattice(G4double tx, G4double z)
void SetMaterialProperties(const G4Material *crystal, const G4String &lattice, const G4String &filePath)
G4double GetChannelWidthY()
G4ThreeVector ChannelChange(G4double &x, G4double &y, G4double &z)
change the channel if necessary, recalculate x o y
G4ThreeVector CoordinatesFromLatticeToBox(const G4ThreeVector &pos)
G4double AngleXFromLatticeToBox(G4double tx, G4double z)
G4double GetChannelWidthX()
get channel width in x and y
G4VChannelingFastSimCrystalData()
G4double GetCUtetax(G4double z)
get crystalline undulator wave 1st derivative function