Geant4 11.2.2
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) |
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) |
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)=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 | SetCUParameters (const G4ThreeVector &litudePeriodPhase, const G4LogicalVolume *crystallogic) |
void | SetParticleProperties (G4double etotal, G4double mp, G4double charge, G4bool ifhadron) |
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 57 of file G4VChannelingFastSimCrystalData.hh.
G4VChannelingFastSimCrystalData::G4VChannelingFastSimCrystalData | ( | ) |
Definition at line 32 of file G4VChannelingFastSimCrystalData.cc.
|
virtual |
Definition at line 39 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 333 of file G4VChannelingFastSimCrystalData.cc.
G4ThreeVector G4VChannelingFastSimCrystalData::CoulombElectronScattering | ( | G4double | eMinIonization, |
G4double | electronDensity, | ||
G4double | step ) |
multiple and single scattering on electrons
Definition at line 442 of file G4VChannelingFastSimCrystalData.cc.
Referenced by G4ChannelingFastSimModel::DoIt().
electron density function
Definition at line 68 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
electric fields produced by crystal lattice
Definition at line 64 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
Definition at line 65 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
|
inline |
get bending angle of the crystal planes/axes (default BendingAngle=0 => straight crystal);
Definition at line 103 of file G4VChannelingFastSimCrystalData.hh.
|
inline |
get particle velocity/c
Definition at line 96 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
|
inline |
return correction of the longitudinal coordinate (along current plane/axis vs "central plane/axis")
Definition at line 172 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
get crystal curvature for crystalline undulator the curvature is a function, otherwise it's a constant
Definition at line 111 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
get crystalline undulator wave 1st derivative function
Definition at line 116 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::AngleXFromBoxToLattice(), and G4ChannelingFastSimCrystalData::AngleXFromLatticeToBox().
get crystalline undulator wave function
Definition at line 114 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 288 of file G4VChannelingFastSimCrystalData.cc.
Referenced by GetMaxSimulationStep().
Calculate the value of the Lindhard angle (!!! the value for a straight crystal)
Definition at line 279 of file G4VChannelingFastSimCrystalData.cc.
Referenced by G4ChannelingFastSimModel::DoIt(), and G4ChannelingFastSimModel::ModelTrigger().
Calculate maximal simulation step (standard value for channeling particles)
Definition at line 324 of file G4VChannelingFastSimCrystalData.cc.
Referenced by G4ChannelingFastSimModel::ModelTrigger().
|
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 107 of file G4VChannelingFastSimCrystalData.hh.
|
inline |
Definition at line 99 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimModel::DoIt(), and G4ChannelingFastSimModel::ModelTrigger().
|
inline |
Definition at line 98 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
Calculate simulation step (standard value for channeling particles and reduced value for overbarrier particles)
Definition at line 295 of file G4VChannelingFastSimCrystalData.cc.
Referenced by G4ChannelingFastSimModel::DoIt().
ionization losses
Definition at line 507 of file G4VChannelingFastSimCrystalData.cc.
Referenced by G4ChannelingFastSimModel::DoIt().
minimum energy of ionization function
Definition at line 75 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
|
inline |
nuclear density function (normalized to average nuclear density)
Definition at line 78 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimModel::DoIt().
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 67 of file G4VChannelingFastSimCrystalData.cc.
Referenced by SetCUParameters(), and SetGeometryParameters().
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 144 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 165 of file G4VChannelingFastSimCrystalData.cc.
Referenced by SetCrystallineUndulatorParameters(), and SetGeometryParameters().
void G4VChannelingFastSimCrystalData::SetGeometryParameters | ( | const G4LogicalVolume * | crystallogic | ) |
set geometry parameters from current logical volume
Definition at line 43 of file G4VChannelingFastSimCrystalData.cc.
Referenced by G4ChannelingFastSimModel::DoIt(), and G4ChannelingFastSimModel::ModelTrigger().
|
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 122 of file G4VChannelingFastSimCrystalData.cc.
Referenced by SetGeometryParameters().
void G4VChannelingFastSimCrystalData::SetParticleProperties | ( | G4double | etotal, |
G4double | mp, | ||
G4double | charge, | ||
G4bool | ifhadron ) |
recalculate all the important values (to do both at the trajectory start and after energy loss)
Definition at line 210 of file G4VChannelingFastSimCrystalData.cc.
Referenced by G4ChannelingFastSimModel::DoIt().
|
inline |
Definition at line 198 of file G4VChannelingFastSimCrystalData.hh.
|
protected |
Definition at line 287 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 289 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 224 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), and SetBendingAngle().
|
protected |
Definition at line 218 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetBendingAngle(), SetBendingAngle(), and SetCUParameters().
|
protected |
|
protected |
Definition at line 225 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), and SetBendingAngle().
|
protected |
|
protected |
Definition at line 256 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetMaxSimulationStep(), GetSimulationStep(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 233 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::ChannelChange(), G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), GetCorrectionZ(), and SetBendingAngle().
|
protected |
Definition at line 230 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), and SetMiscutAngle().
|
protected |
Definition at line 237 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), GetCurv(), GetCUtetax(), and SetCUParameters().
|
protected |
Definition at line 239 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetCUx(), and SetCUParameters().
|
protected |
Definition at line 242 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetCUtetax(), and SetCUParameters().
|
protected |
Definition at line 240 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetCUtetax(), GetCUx(), and SetCUParameters().
|
protected |
Definition at line 243 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetCurv(), and SetCUParameters().
|
protected |
Definition at line 241 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetCUtetax(), GetCUx(), and SetCUParameters().
|
protected |
Definition at line 226 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::AngleXShift(), GetCurv(), and SetBendingAngle().
|
protected |
Definition at line 288 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
classes containing interpolation coefficients
Definition at line 203 of file G4VChannelingFastSimCrystalData.hh.
Referenced by Ex(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 205 of file G4VChannelingFastSimCrystalData.hh.
Referenced by Ey(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 207 of file G4VChannelingFastSimCrystalData.hh.
Referenced by ElectronDensity(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
values related to the crystal geometry
Definition at line 214 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), and SetBendingAngle().
|
protected |
Definition at line 258 of file G4VChannelingFastSimCrystalData.hh.
Referenced by IonizationLosses(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 276 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
coefficients necessary for multiple and single coulomb scattering
Definition at line 275 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 280 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombElectronScattering(), and SetParticleProperties().
|
protected |
Definition at line 279 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 278 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 282 of file G4VChannelingFastSimCrystalData.hh.
Referenced by IonizationLosses(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 209 of file G4VChannelingFastSimCrystalData.hh.
Referenced by MinIonizationEnergy(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 228 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::AngleXShift(), GetMiscutAngle(), and SetMiscutAngle().
|
protected |
values related to the crystal lattice
Definition at line 246 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetNelements(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 211 of file G4VChannelingFastSimCrystalData.hh.
Referenced by NuclearDensity(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
coefficients for multiple scattering suppression
Definition at line 285 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 286 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 260 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 231 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::CoordinatesFromBoxToLattice(), G4ChannelingFastSimCrystalData::CoordinatesFromLatticeToBox(), and SetMiscutAngle().
|
protected |
angles necessary for multiple and single coulomb scattering
Definition at line 266 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 272 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 269 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 271 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 270 of file G4VChannelingFastSimCrystalData.hh.
Referenced by CoulombAtomicScattering(), G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 292 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetVerbosity().
|
protected |
Definition at line 250 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetLindhardAngle(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 251 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties(), and SetParticleProperties().
|
protected |
Definition at line 252 of file G4VChannelingFastSimCrystalData.hh.
Referenced by G4ChannelingFastSimCrystalData::SetMaterialProperties().
|
protected |
Definition at line 247 of file G4VChannelingFastSimCrystalData.hh.
Referenced by GetModel(), GetSimulationStep(), and G4ChannelingFastSimCrystalData::SetMaterialProperties().