Geant4-11
|
#include <G4AdjointPrimaryGenerator.hh>
Public Member Functions | |
void | ComputeAccumulatedDepthVectorAlongBackRay (G4ThreeVector glob_pos, G4ThreeVector direction, G4double ekin, G4ParticleDefinition *aPDef) |
G4AdjointPrimaryGenerator () | |
G4AdjointPrimaryGenerator (const G4AdjointPrimaryGenerator &)=delete | |
void | GenerateAdjointPrimaryVertex (G4Event *anEvt, G4ParticleDefinition *adj_part, G4double E1, G4double E2) |
void | GenerateFwdPrimaryVertex (G4Event *anEvt, G4ParticleDefinition *adj_part, G4double E1, G4double E2) |
G4AdjointPrimaryGenerator & | operator= (const G4AdjointPrimaryGenerator &)=delete |
G4double | SampleDistanceAlongBackRayAndComputeWeightCorrection (G4double &weight_corr) |
void | SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume (const G4String &v_name) |
void | SetSphericalAdjointPrimarySource (G4double radius, G4ThreeVector pos) |
~G4AdjointPrimaryGenerator () | |
Private Attributes | |
G4ThreeVector | center_spherical_source |
G4Navigator * | fLinearNavigator = nullptr |
G4double | radius_spherical_source = 0.0 |
G4PhysicsFreeVector * | theAccumulatedDepthVector = nullptr |
G4AdjointPosOnPhysVolGenerator * | theG4AdjointPosOnPhysVolGenerator = nullptr |
G4SingleParticleSource * | theSingleParticleSource = nullptr |
G4String | type_of_adjoint_source |
Definition at line 58 of file G4AdjointPrimaryGenerator.hh.
G4AdjointPrimaryGenerator::G4AdjointPrimaryGenerator | ( | ) |
Definition at line 47 of file G4AdjointPrimaryGenerator.cc.
References center_spherical_source, G4SingleParticleSource::GetAngDist(), G4SingleParticleSource::GetEneDist(), G4AdjointPosOnPhysVolGenerator::GetInstance(), G4SingleParticleSource::GetPosDist(), G4SPSEneDistribution::SetAlpha(), G4SPSAngDistribution::SetAngDistType(), G4SPSEneDistribution::SetEnergyDisType(), G4SPSPosDistribution::SetPosDisType(), theG4AdjointPosOnPhysVolGenerator, theSingleParticleSource, and type_of_adjoint_source.
G4AdjointPrimaryGenerator::~G4AdjointPrimaryGenerator | ( | ) |
Definition at line 63 of file G4AdjointPrimaryGenerator.cc.
References theSingleParticleSource.
|
delete |
void G4AdjointPrimaryGenerator::ComputeAccumulatedDepthVectorAlongBackRay | ( | G4ThreeVector | glob_pos, |
G4ThreeVector | direction, | ||
G4double | ekin, | ||
G4ParticleDefinition * | aPDef | ||
) |
Definition at line 161 of file G4AdjointPrimaryGenerator.cc.
References G4Navigator::ComputeStep(), fLinearNavigator, G4Material::GetDensity(), G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetMaterial(), G4TransportationManager::GetNavigatorForTracking(), G4TransportationManager::GetTransportationManager(), G4PhysicsFreeVector::InsertValues(), G4Navigator::LocateGlobalPointAndSetup(), and theAccumulatedDepthVector.
void G4AdjointPrimaryGenerator::GenerateAdjointPrimaryVertex | ( | G4Event * | anEvt, |
G4ParticleDefinition * | adj_part, | ||
G4double | E1, | ||
G4double | E2 | ||
) |
Definition at line 70 of file G4AdjointPrimaryGenerator.cc.
References G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume(), G4SingleParticleSource::GeneratePrimaryVertex(), G4SingleParticleSource::GetAngDist(), G4SingleParticleSource::GetEneDist(), G4SingleParticleSource::GetPosDist(), pos, G4SPSPosDistribution::SetCentreCoords(), G4SPSEneDistribution::SetEmax(), G4SPSEneDistribution::SetEmin(), G4SingleParticleSource::SetParticleDefinition(), G4SPSAngDistribution::SetParticleMomentumDirection(), theG4AdjointPosOnPhysVolGenerator, theSingleParticleSource, and type_of_adjoint_source.
void G4AdjointPrimaryGenerator::GenerateFwdPrimaryVertex | ( | G4Event * | anEvt, |
G4ParticleDefinition * | adj_part, | ||
G4double | E1, | ||
G4double | E2 | ||
) |
Definition at line 103 of file G4AdjointPrimaryGenerator.cc.
References G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume(), G4SingleParticleSource::GeneratePrimaryVertex(), G4SingleParticleSource::GetAngDist(), G4SingleParticleSource::GetEneDist(), G4SingleParticleSource::GetPosDist(), pos, G4SPSPosDistribution::SetCentreCoords(), G4SPSEneDistribution::SetEmax(), G4SPSEneDistribution::SetEmin(), G4SingleParticleSource::SetParticleDefinition(), G4SPSAngDistribution::SetParticleMomentumDirection(), theG4AdjointPosOnPhysVolGenerator, theSingleParticleSource, and type_of_adjoint_source.
Referenced by G4AdjointPrimaryGeneratorAction::GeneratePrimaries().
|
delete |
G4double G4AdjointPrimaryGenerator::SampleDistanceAlongBackRayAndComputeWeightCorrection | ( | G4double & | weight_corr | ) |
Definition at line 199 of file G4AdjointPrimaryGenerator.cc.
References G4PhysicsVector::FindLinearEnergy(), G4UniformRand, and theAccumulatedDepthVector.
void G4AdjointPrimaryGenerator::SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume | ( | const G4String & | v_name | ) |
Definition at line 150 of file G4AdjointPrimaryGenerator.cc.
References G4AdjointPosOnPhysVolGenerator::DefinePhysicalVolume1(), G4SingleParticleSource::GetAngDist(), G4SingleParticleSource::GetPosDist(), G4SPSAngDistribution::SetAngDistType(), G4SPSPosDistribution::SetPosDisType(), theG4AdjointPosOnPhysVolGenerator, theSingleParticleSource, and type_of_adjoint_source.
Referenced by G4AdjointPrimaryGeneratorAction::SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume().
void G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource | ( | G4double | radius, |
G4ThreeVector | pos | ||
) |
Definition at line 133 of file G4AdjointPrimaryGenerator.cc.
References center_spherical_source, G4SingleParticleSource::GetAngDist(), G4SingleParticleSource::GetPosDist(), halfpi, pi, radius_spherical_source, G4SPSAngDistribution::SetAngDistType(), G4SPSPosDistribution::SetCentreCoords(), G4SPSAngDistribution::SetMaxTheta(), G4SPSAngDistribution::SetMinTheta(), G4SPSPosDistribution::SetPosDisShape(), G4SPSPosDistribution::SetPosDisType(), G4SPSPosDistribution::SetRadius(), theSingleParticleSource, and type_of_adjoint_source.
Referenced by G4AdjointPrimaryGeneratorAction::SetSphericalAdjointPrimarySource().
|
private |
Definition at line 99 of file G4AdjointPrimaryGenerator.hh.
Referenced by G4AdjointPrimaryGenerator(), and SetSphericalAdjointPrimarySource().
|
private |
Definition at line 100 of file G4AdjointPrimaryGenerator.hh.
Referenced by ComputeAccumulatedDepthVectorAlongBackRay().
|
private |
Definition at line 98 of file G4AdjointPrimaryGenerator.hh.
Referenced by SetSphericalAdjointPrimarySource().
|
private |
Definition at line 101 of file G4AdjointPrimaryGenerator.hh.
Referenced by ComputeAccumulatedDepthVectorAlongBackRay(), and SampleDistanceAlongBackRayAndComputeWeightCorrection().
|
private |
Definition at line 91 of file G4AdjointPrimaryGenerator.hh.
Referenced by G4AdjointPrimaryGenerator(), GenerateAdjointPrimaryVertex(), GenerateFwdPrimaryVertex(), and SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume().
|
private |
Definition at line 93 of file G4AdjointPrimaryGenerator.hh.
Referenced by G4AdjointPrimaryGenerator(), GenerateAdjointPrimaryVertex(), GenerateFwdPrimaryVertex(), SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(), SetSphericalAdjointPrimarySource(), and ~G4AdjointPrimaryGenerator().
|
private |
Definition at line 97 of file G4AdjointPrimaryGenerator.hh.
Referenced by G4AdjointPrimaryGenerator(), GenerateAdjointPrimaryVertex(), GenerateFwdPrimaryVertex(), SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(), and SetSphericalAdjointPrimarySource().