54 : radius_spherical_source(0.),fLinearNavigator(0),theAccumulatedDepthVector(0)
87 if (costh_to_normal <1.e-4) costh_to_normal =1.e-4;
116 if (costh_to_normal <1.e-4) costh_to_normal =1.e-4;
179 while (newStep > 0. && thePhysVolume) {
193 position=position+newStep*direction;
G4SPSAngDistribution * GetAngDist() const
G4SPSEneDistribution * GetEneDist() const
void SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector pos)
G4double FindLinearEnergy(G4double rand) const
G4SPSPosDistribution * GetPosDist() const
G4Material * GetMaterial() const
void SetPosDisType(G4String)
Important: This is a shared class between threads.
void ComputeAccumulatedDepthVectorAlongBackRay(G4ThreeVector glob_pos, G4ThreeVector direction, G4double ekin, G4ParticleDefinition *aPartDef)
CLHEP::Hep3Vector G4ThreeVector
void GenerateAdjointPrimaryVertex(G4Event *anEvt, G4ParticleDefinition *adj_part, G4double E1, G4double E2)
G4double radius_spherical_source
void SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(const G4String &volume_name)
virtual G4double ComputeStep(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety)
G4double GetDensity() const
G4Navigator * GetNavigatorForTracking() const
Andrea Dotti Feb 2015 Important: This is a shared class between threads.
G4double SampleDistanceAlongBackRayAndComputeWeightCorrection(G4double &weight_corr)
G4AdjointPosOnPhysVolGenerator * theG4AdjointPosOnPhysVolGenerator
void InsertValues(G4double energy, G4double value)
void SetMinTheta(G4double)
void SetCentreCoords(G4ThreeVector)
void SetEnergyDisType(G4String)
G4String type_of_adjoint_source
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
G4PhysicsOrderedFreeVector * theAccumulatedDepthVector
void SetPosDisShape(G4String)
void GenerateFwdPrimaryVertex(G4Event *anEvt, G4ParticleDefinition *adj_part, G4double E1, G4double E2)
static G4TransportationManager * GetTransportationManager()
G4AdjointPrimaryGenerator()
void SetAngDistType(G4String)
G4LogicalVolume * GetLogicalVolume() const
void GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume(G4ThreeVector &p, G4ThreeVector &direction)
void DefinePhysicalVolume1(const G4String &aName)
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
virtual G4VPhysicalVolume * LocateGlobalPointAndSetup(const G4ThreeVector &point, const G4ThreeVector *direction=0, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true)
G4Navigator * fLinearNavigator
static G4AdjointPosOnPhysVolGenerator * GetInstance()
G4ThreeVector center_spherical_source
static constexpr double pi
static constexpr double halfpi
void GeneratePrimaryVertex(G4Event *evt)
~G4AdjointPrimaryGenerator()
void SetMaxTheta(G4double)
G4SingleParticleSource * theSingleParticleSource
static const G4double pos