|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
#include <G4VChannelingFastSimCrystalData.hh>
Public Member Functions | |
| G4VChannelingFastSimCrystalData () | |
| virtual | ~G4VChannelingFastSimCrystalData () |
| G4double | Ex (G4double x, G4double y) |
| electric fields produced by crystal lattice | |
| G4double | Ey (G4double x, G4double y) |
| G4double | ElectronDensity (G4double x, G4double y) |
| electron density function | |
| G4double | MinIonizationEnergy (G4double x, G4double y) |
| minimum energy of ionization function | |
| G4double | NuclearDensity (G4double x, G4double y, G4int ielement) |
| nuclear density function (normalized to average nuclear density) | |
| G4double | GetLindhardAngle (G4double etotal, G4double mass, G4double charge) |
| Calculate the value of the Lindhard angle (!!! the value for a straight crystal). | |
| G4double | GetLindhardAngle () |
| Calculate the value of the Lindhard angle (!!! the value for a straight crystal). | |
| G4double | GetSimulationStep (G4double tx, G4double ty) |
| G4double | GetMaxSimulationStep (G4double etotal, G4double mass, G4double charge) |
| Calculate maximal simulation step (standard value for channeling particles). | |
| G4double | GetBeta () |
| get particle velocity/c | |
| G4int | GetNelements () |
| G4int | GetModel () |
| G4double | GetBendingAngle () |
| G4double | GetMiscutAngle () |
| G4double | GetCurv (G4double z) |
| G4double | GetCUx (G4double z) |
| get crystalline undulator wave function | |
| G4double | GetCUtetax (G4double z) |
| get crystalline undulator wave 1st derivative function | |
| virtual void | SetMaterialProperties (const G4Material *crystal, const G4String &lattice, const G4String &filePath)=0 |
| void | SetGeometryParameters (const G4LogicalVolume *crystallogic) |
| set geometry parameters from current logical volume | |
| void | SetBendingAngle (G4double tetab, const G4LogicalVolume *crystallogic) |
| void | SetMiscutAngle (G4double tetam, const G4LogicalVolume *crystallogic) |
| void | SetCrystallineUndulatorParameters (G4double amplitude, G4double period, G4double phase, const G4LogicalVolume *crystallogic) |
| void | SetCrystallineUndulatorParameters (const G4LogicalVolume *crystallogic, const G4String &filename="CUgeometry.dat") |
| set importing geometry of a crystalline undulator from file for specific volume | |
| void | SetCUParameters (const G4ThreeVector &litudePeriodPhase, const G4LogicalVolume *crystallogic) |
| void | SetParticleProperties (G4double etotal, G4double mp, G4double charge, const G4String &particleName) |
| virtual G4ThreeVector | CoordinatesFromBoxToLattice (const G4ThreeVector &pos0)=0 |
| virtual G4ThreeVector | CoordinatesFromLatticeToBox (const G4ThreeVector &pos)=0 |
| virtual G4ThreeVector | ChannelChange (G4double &x, G4double &y, G4double &z)=0 |
| change the channel if necessary, recalculate x o y | |
| G4double | GetCorrectionZ () |
| virtual G4double | AngleXFromBoxToLattice (G4double tx, G4double z)=0 |
| virtual G4double | AngleXFromLatticeToBox (G4double tx, G4double z)=0 |
| virtual G4double | AngleXShift (G4double z)=0 |
| auxialiary function to transform the horizontal angle | |
| G4ThreeVector | CoulombAtomicScattering (G4double effectiveStep, G4double step, G4int ielement) |
| multiple and single scattering on screened potential | |
| G4ThreeVector | CoulombElectronScattering (G4double eMinIonization, G4double electronDensity, G4double step) |
| multiple and single scattering on electrons | |
| G4double | IonizationLosses (G4double dz, G4int ielement) |
| ionization losses | |
| void | SetVerbosity (G4int ver) |
Definition at line 61 of file G4VChannelingFastSimCrystalData.hh.
| G4VChannelingFastSimCrystalData::G4VChannelingFastSimCrystalData | ( | ) |
Definition at line 34 of file G4VChannelingFastSimCrystalData.cc.
|
virtual |
Definition at line 38 of file G4VChannelingFastSimCrystalData.cc.
|
pure virtual |
calculate the horizontal angle in the co-rotating reference system within a channel (periodic cell) (connected with crystal planes/axes either bent or straight)
Implemented in G4ChannelingFastSimCrystalData.
|
pure virtual |
calculate the horizontal angle in the Box reference system (connected with the bounding box of the volume)
Implemented in G4ChannelingFastSimCrystalData.
auxialiary function to transform the horizontal angle
Implemented in G4ChannelingFastSimCrystalData.
|
pure virtual |
change the channel if necessary, recalculate x o y
Implemented in G4ChannelingFastSimCrystalData.
|
pure virtual |
calculate the coordinates in the co-rotating reference system within a channel (periodic cell) (connected with crystal planes/axes either bent or straight)
Implemented in G4ChannelingFastSimCrystalData.
|
pure virtual |
calculate the coordinates in the Box reference system (connected with the bounding box of the volume)
Implemented in G4ChannelingFastSimCrystalData.
| G4ThreeVector G4VChannelingFastSimCrystalData::CoulombAtomicScattering | ( | G4double | effectiveStep, |
| G4double | step, | ||
| G4int | ielement ) |
multiple and single scattering on screened potential
Definition at line 474 of file G4VChannelingFastSimCrystalData.cc.
| G4ThreeVector G4VChannelingFastSimCrystalData::CoulombElectronScattering | ( | G4double | eMinIonization, |
| G4double | electronDensity, | ||
| G4double | step ) |
multiple and single scattering on electrons
Definition at line 583 of file G4VChannelingFastSimCrystalData.cc.
electron density function
Definition at line 72 of file G4VChannelingFastSimCrystalData.hh.
electric fields produced by crystal lattice
Definition at line 68 of file G4VChannelingFastSimCrystalData.hh.
Definition at line 69 of file G4VChannelingFastSimCrystalData.hh.
|
inline |
get bending angle of the crystal planes/axes (default BendingAngle=0 => straight crystal);
Definition at line 107 of file G4VChannelingFastSimCrystalData.hh.
|
inline |
get particle velocity/c
Definition at line 100 of file G4VChannelingFastSimCrystalData.hh.
|
inline |
return correction of the longitudinal coordinate (along current plane/axis vs "central plane/axis")
Definition at line 194 of file G4VChannelingFastSimCrystalData.hh.
get crystal curvature for crystalline undulator the curvature is a function, otherwise it's a constant
Definition at line 115 of file G4VChannelingFastSimCrystalData.hh.
get crystalline undulator wave 1st derivative function
Definition at line 129 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::AngleXFromBoxToLattice(), and G4ChannelingFastSimCrystalData::AngleXFromLatticeToBox().
get crystalline undulator wave function
Definition at line 123 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), and GetCurv().
| G4double G4VChannelingFastSimCrystalData::GetLindhardAngle | ( | ) |
Calculate the value of the Lindhard angle (!!! the value for a straight crystal).
Definition at line 427 of file G4VChannelingFastSimCrystalData.cc.
Referenced by GetMaxSimulationStep().
| G4double G4VChannelingFastSimCrystalData::GetLindhardAngle | ( | G4double | etotal, |
| G4double | mass, | ||
| G4double | charge ) |
Calculate the value of the Lindhard angle (!!! the value for a straight crystal).
Definition at line 416 of file G4VChannelingFastSimCrystalData.cc.
| G4double G4VChannelingFastSimCrystalData::GetMaxSimulationStep | ( | G4double | etotal, |
| G4double | mass, | ||
| G4double | charge ) |
Calculate maximal simulation step (standard value for channeling particles).
Definition at line 464 of file G4VChannelingFastSimCrystalData.cc.
|
inline |
fBendingAngle MAY BE NOT THE SAME AS THE BENDING ANGLE OF THE CRYSTAL VOLUME: THE VOLUME OF A BENT CRYSTAL MAY BE G4Box, while the planes/axes inside may be bent
Definition at line 111 of file G4VChannelingFastSimCrystalData.hh.
|
inline |
Definition at line 103 of file G4VChannelingFastSimCrystalData.hh.
|
inline |
Definition at line 102 of file G4VChannelingFastSimCrystalData.hh.
Calculate simulation step (standard value for channeling particles and reduced value for overbarrier particles)
Definition at line 434 of file G4VChannelingFastSimCrystalData.cc.
ionization losses
Definition at line 651 of file G4VChannelingFastSimCrystalData.cc.
minimum energy of ionization function
Definition at line 79 of file G4VChannelingFastSimCrystalData.hh.
|
inline |
nuclear density function (normalized to average nuclear density)
Definition at line 82 of file G4VChannelingFastSimCrystalData.hh.
| void G4VChannelingFastSimCrystalData::SetBendingAngle | ( | G4double | tetab, |
| const G4LogicalVolume * | crystallogic ) |
set bending angle of the crystal planes/axes (default fBendingAngle=0 => straight crystal); only non-negative values! crystal is bent in the positive direction of x
Definition at line 66 of file G4VChannelingFastSimCrystalData.cc.
Referenced by SetCUParameters(), and SetGeometryParameters().
| void G4VChannelingFastSimCrystalData::SetCrystallineUndulatorParameters | ( | const G4LogicalVolume * | crystallogic, |
| const G4String & | filename = "CUgeometry.dat" ) |
set importing geometry of a crystalline undulator from file for specific volume
Definition at line 164 of file G4VChannelingFastSimCrystalData.cc.
| void G4VChannelingFastSimCrystalData::SetCrystallineUndulatorParameters | ( | G4double | amplitude, |
| G4double | period, | ||
| G4double | phase, | ||
| const G4LogicalVolume * | crystallogic ) |
set crystalline undulator parameters: amplitude, period and phase (default: all 3 value = 0) function to use in Detector Construction
Definition at line 143 of file G4VChannelingFastSimCrystalData.cc.
| void G4VChannelingFastSimCrystalData::SetCUParameters | ( | const G4ThreeVector & | amplitudePeriodPhase, |
| const G4LogicalVolume * | crystallogic ) |
set crystalline undulator parameters (internal function of the model) for convenience we put amplitude, period and phase in a G4ThreeVector
Definition at line 291 of file G4VChannelingFastSimCrystalData.cc.
Referenced by SetCrystallineUndulatorParameters(), SetCrystallineUndulatorParameters(), and SetGeometryParameters().
| void G4VChannelingFastSimCrystalData::SetGeometryParameters | ( | const G4LogicalVolume * | crystallogic | ) |
set geometry parameters from current logical volume
Definition at line 42 of file G4VChannelingFastSimCrystalData.cc.
|
pure virtual |
find and upload crystal lattice input files, calculate all the basic values (to do only once)
Implemented in G4ChannelingFastSimCrystalData.
| void G4VChannelingFastSimCrystalData::SetMiscutAngle | ( | G4double | tetam, |
| const G4LogicalVolume * | crystallogic ) |
fBendingAngle MAY BE NOT THE SAME AS THE BENDING ANGLE OF THE CRYSTAL VOLUME THE VOLUME OF A BENT CRYSTAL MAY BE G4Box, while the planes/axes inside may be bent set miscut angle (default fMiscutAngle=0), acceptable range +-1 mrad, otherwise geometry routines may be unstable
Definition at line 121 of file G4VChannelingFastSimCrystalData.cc.
Referenced by SetGeometryParameters().
| void G4VChannelingFastSimCrystalData::SetParticleProperties | ( | G4double | etotal, |
| G4double | mp, | ||
| G4double | charge, | ||
| const G4String & | particleName ) |
recalculate all the important values (to do both at the trajectory start and after energy loss)
Definition at line 348 of file G4VChannelingFastSimCrystalData.cc.
|
inline |
Definition at line 220 of file G4VChannelingFastSimCrystalData.hh.
|
protected |
Definition at line 310 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 312 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 246 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), and SetBendingAngle().
|
protected |
Definition at line 240 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetBendingAngle(), SetBendingAngle(), and SetCUParameters().
|
protected |
|
protected |
Definition at line 247 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), and SetBendingAngle().
|
protected |
|
protected |
Definition at line 278 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetMaxSimulationStep(), GetSimulationStep(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 255 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::ChannelChange(), G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), GetCorrectionZ(), and SetBendingAngle().
|
protected |
Definition at line 252 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), and SetMiscutAngle().
|
protected |
Definition at line 259 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), GetCurv(), GetCUtetax(), and SetCUParameters().
|
protected |
Definition at line 261 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetCUx(), and SetCUParameters().
|
protected |
Definition at line 264 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetCUtetax(), and SetCUParameters().
|
protected |
Definition at line 262 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetCUtetax(), GetCUx(), and SetCUParameters().
|
protected |
Definition at line 265 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetCurv(), and SetCUParameters().
|
protected |
Definition at line 263 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetCUtetax(), GetCUx(), and SetCUParameters().
|
protected |
Definition at line 248 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::AngleXShift(), GetCurv(), and SetBendingAngle().
|
protected |
Definition at line 311 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
classes containing interpolation coefficients
Definition at line 225 of file G4VChannelingFastSimCrystalData.hh.
Referenced by Ex(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 227 of file G4VChannelingFastSimCrystalData.hh.
Referenced by Ey(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 229 of file G4VChannelingFastSimCrystalData.hh.
Referenced by ElectronDensity(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
values related to the crystal geometry
Definition at line 236 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), SetBendingAngle(), and SetCrystallineUndulatorParameters().
|
protected |
Definition at line 280 of file G4VChannelingFastSimCrystalData.hh.
Referenced by IonizationLosses(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 298 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
coefficients necessary for multiple and single coulomb scattering
Definition at line 297 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 302 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombElectronScattering(), and SetParticleProperties().
|
protected |
Definition at line 301 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 300 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 304 of file G4VChannelingFastSimCrystalData.hh.
Referenced by IonizationLosses(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 305 of file G4VChannelingFastSimCrystalData.hh.
Referenced by IonizationLosses(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 231 of file G4VChannelingFastSimCrystalData.hh.
Referenced by MinIonizationEnergy(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 250 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::AngleXShift(), GetMiscutAngle(), and SetMiscutAngle().
|
protected |
values related to the crystal lattice
Definition at line 268 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetNelements(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 233 of file G4VChannelingFastSimCrystalData.hh.
Referenced by NuclearDensity(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
coefficients for multiple scattering suppression
Definition at line 308 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 309 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 282 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 253 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), and SetMiscutAngle().
|
protected |
angles necessary for multiple and single coulomb scattering
Definition at line 288 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 294 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 291 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 293 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 292 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 315 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetVerbosity().
|
protected |
Definition at line 272 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetLindhardAngle(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 273 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 274 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 269 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetModel(), GetSimulationStep(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().