Geant4  10.00.p03
G4SPSPosDistribution Class Reference

#include <G4SPSPosDistribution.hh>

+ Collaboration diagram for G4SPSPosDistribution:

Public Member Functions

 G4SPSPosDistribution ()
 
 ~G4SPSPosDistribution ()
 
void SetPosDisType (G4String)
 
G4String GetPosDisType ()
 
void SetPosDisShape (G4String)
 
G4String GetPosDisShape ()
 
void SetCentreCoords (G4ThreeVector)
 
G4ThreeVector GetCentreCoords ()
 
void SetPosRot1 (G4ThreeVector)
 
void SetPosRot2 (G4ThreeVector)
 
void SetHalfX (G4double)
 
G4double GetHalfX ()
 
void SetHalfY (G4double)
 
G4double GetHalfY ()
 
void SetHalfZ (G4double)
 
G4double GetHalfZ ()
 
void SetRadius (G4double)
 
G4double GetRadius ()
 
void SetRadius0 (G4double)
 
void SetBeamSigmaInR (G4double)
 
void SetBeamSigmaInX (G4double)
 
void SetBeamSigmaInY (G4double)
 
void SetParAlpha (G4double)
 
void SetParTheta (G4double)
 
void SetParPhi (G4double)
 
void ConfineSourceToVolume (G4String)
 
void SetBiasRndm (G4SPSRandomGenerator *a)
 
void SetVerbosity (G4int a)
 
G4ThreeVector GenerateOne ()
 

Private Member Functions

void GenerateRotationMatrices ()
 
void GeneratePointSource ()
 
void GeneratePointsInBeam ()
 
void GeneratePointsInPlane ()
 
void GeneratePointsOnSurface ()
 
void GeneratePointsInVolume ()
 
G4bool IsSourceConfined ()
 

Private Attributes

G4String SourcePosType
 
G4String Shape
 
G4double halfx
 
G4double halfy
 
G4double halfz
 
G4double Radius
 
G4double Radius0
 
G4double SR
 
G4double SX
 
G4double SY
 
G4ThreeVector CentreCoords
 
G4ThreeVector Rotx
 
G4ThreeVector Roty
 
G4ThreeVector Rotz
 
G4double ParAlpha
 
G4double ParTheta
 
G4double ParPhi
 
G4bool Confine
 
G4String VolName
 
G4ThreeVector SideRefVec1
 
G4ThreeVector SideRefVec2
 
G4ThreeVector SideRefVec3
 
G4ThreeVector particle_position
 
G4NavigatorgNavigator
 
G4SPSRandomGeneratorposRndm
 
G4int verbosityLevel
 

Friends

class G4SPSAngDistribution
 

Detailed Description

Definition at line 138 of file G4SPSPosDistribution.hh.

Constructor & Destructor Documentation

G4SPSPosDistribution::G4SPSPosDistribution ( )

Definition at line 56 of file G4SPSPosDistribution.cc.

References CentreCoords, Confine, G4TransportationManager::GetNavigatorForTracking(), G4TransportationManager::GetTransportationManager(), gNavigator, halfx, halfy, halfz, CLHEP::HepXHat(), CLHEP::HepYHat(), CLHEP::HepZHat(), ParAlpha, ParPhi, ParTheta, Radius, Radius0, Rotx, Roty, Rotz, Shape, SideRefVec1, SideRefVec2, SideRefVec3, SourcePosType, SR, SX, SY, verbosityLevel, and VolName.

+ Here is the call graph for this function:

G4SPSPosDistribution::~G4SPSPosDistribution ( )

Definition at line 90 of file G4SPSPosDistribution.cc.

Member Function Documentation

void G4SPSPosDistribution::ConfineSourceToVolume ( G4String  Vname)

Definition at line 206 of file G4SPSPosDistribution.cc.

References Confine, G4cout, G4endl, G4PhysicalVolumeStore::GetInstance(), G4VPhysicalVolume::GetName(), verbosityLevel, and VolName.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4SPSPosDistribution::GenerateOne ( )

Definition at line 975 of file G4SPSPosDistribution.cc.

References Confine, G4cout, G4endl, GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GeneratePointSource(), IsSourceConfined(), particle_position, and SourcePosType.

Referenced by G4SingleParticleSource::GeneratePrimaryVertex().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSPosDistribution::GeneratePointsInBeam ( )
private

Definition at line 254 of file G4SPSPosDistribution.cc.

References CentreCoords, G4cout, G4endl, G4SPSRandomGenerator::GenRandX(), G4SPSRandomGenerator::GenRandY(), halfx, halfy, particle_position, posRndm, Radius, Rotx, Roty, Rotz, Shape, G4INCL::DeJongSpin::shoot(), SX, SY, verbosityLevel, and z.

Referenced by GenerateOne().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSPosDistribution::GeneratePointsInPlane ( )
private

Definition at line 314 of file G4SPSPosDistribution.cc.

References CentreCoords, G4cout, G4endl, G4SPSRandomGenerator::GenRandX(), G4SPSRandomGenerator::GenRandY(), halfx, halfy, particle_position, posRndm, Radius, Radius0, Rotx, Roty, Rotz, Shape, SideRefVec1, SideRefVec2, SideRefVec3, SourcePosType, verbosityLevel, and z.

Referenced by GenerateOne().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSPosDistribution::GeneratePointsInVolume ( )
private

Definition at line 837 of file G4SPSPosDistribution.cc.

References CentreCoords, G4cout, G4endl, G4SPSRandomGenerator::GenRandX(), G4SPSRandomGenerator::GenRandY(), G4SPSRandomGenerator::GenRandZ(), halfx, halfy, halfz, ParAlpha, ParPhi, ParTheta, particle_position, posRndm, Radius, Rotx, Roty, Rotz, Shape, SideRefVec1, SideRefVec2, SideRefVec3, SourcePosType, verbosityLevel, and z.

Referenced by GenerateOne().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSPosDistribution::GeneratePointsOnSurface ( )
private

Definition at line 431 of file G4SPSPosDistribution.cc.

References CentreCoords, G4cout, G4endl, G4UniformRand, G4SPSRandomGenerator::GenRandPosPhi(), G4SPSRandomGenerator::GenRandPosTheta(), G4SPSRandomGenerator::GenRandX(), G4SPSRandomGenerator::GenRandY(), G4SPSRandomGenerator::GenRandZ(), halfx, halfy, halfz, ParAlpha, ParPhi, ParTheta, particle_position, G4INCL::Math::pi, posRndm, Radius, Rotx, Roty, Rotz, Shape, SideRefVec1, SideRefVec2, SideRefVec3, SourcePosType, verbosityLevel, and z.

Referenced by GenerateOne().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSPosDistribution::GeneratePointSource ( )
private

Definition at line 244 of file G4SPSPosDistribution.cc.

References CentreCoords, G4cout, G4endl, particle_position, SourcePosType, and verbosityLevel.

Referenced by GenerateOne().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::GenerateRotationMatrices ( )
private

Definition at line 188 of file G4SPSPosDistribution.cc.

References G4cout, G4endl, Rotx, Roty, Rotz, and verbosityLevel.

Referenced by SetPosRot1(), and SetPosRot2().

+ Here is the caller graph for this function:

G4ThreeVector G4SPSPosDistribution::GetCentreCoords ( )
inline

Definition at line 154 of file G4SPSPosDistribution.hh.

References CentreCoords.

G4double G4SPSPosDistribution::GetHalfX ( )
inline

Definition at line 158 of file G4SPSPosDistribution.hh.

References halfx.

G4double G4SPSPosDistribution::GetHalfY ( )
inline

Definition at line 160 of file G4SPSPosDistribution.hh.

References halfy.

G4double G4SPSPosDistribution::GetHalfZ ( )
inline

Definition at line 162 of file G4SPSPosDistribution.hh.

References halfz.

G4String G4SPSPosDistribution::GetPosDisShape ( )
inline

Definition at line 150 of file G4SPSPosDistribution.hh.

References Shape.

G4String G4SPSPosDistribution::GetPosDisType ( )
inline

Definition at line 148 of file G4SPSPosDistribution.hh.

References SourcePosType.

Referenced by UltraPrimaryGeneratorAction::GeneratePrimaries().

+ Here is the caller graph for this function:

G4double G4SPSPosDistribution::GetRadius ( )
inline

Definition at line 164 of file G4SPSPosDistribution.hh.

References Radius.

G4bool G4SPSPosDistribution::IsSourceConfined ( )
private

Definition at line 950 of file G4SPSPosDistribution.cc.

References Confine, G4cout, G4endl, G4VPhysicalVolume::GetName(), gNavigator, G4Navigator::LocateGlobalPointAndSetup(), particle_position, verbosityLevel, and VolName.

Referenced by GenerateOne().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetBeamSigmaInR ( G4double  r)

Definition at line 157 of file G4SPSPosDistribution.cc.

References SR, SX, and SY.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetBeamSigmaInX ( G4double  r)

Definition at line 163 of file G4SPSPosDistribution.cc.

References SX.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetBeamSigmaInY ( G4double  r)

Definition at line 168 of file G4SPSPosDistribution.cc.

References SY.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetBiasRndm ( G4SPSRandomGenerator a)
inline

Definition at line 174 of file G4SPSPosDistribution.hh.

References a, and posRndm.

Referenced by G4SingleParticleSource::G4SingleParticleSource().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetCentreCoords ( G4ThreeVector  coordsOfCentre)

Definition at line 104 of file G4SPSPosDistribution.cc.

References CentreCoords.

Referenced by G4AdjointPrimaryGenerator::GenerateAdjointPrimaryVertex(), G4AdjointPrimaryGenerator::GenerateFwdPrimaryVertex(), G4GeneralParticleSourceMessenger::SetNewValue(), G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource(), and UltraPrimaryGeneratorAction::UltraPrimaryGeneratorAction().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetHalfX ( G4double  xhalf)

Definition at line 132 of file G4SPSPosDistribution.cc.

References halfx.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetHalfY ( G4double  yhalf)

Definition at line 137 of file G4SPSPosDistribution.cc.

References halfy.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetHalfZ ( G4double  zhalf)

Definition at line 142 of file G4SPSPosDistribution.cc.

References halfz.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetParAlpha ( G4double  paralp)

Definition at line 173 of file G4SPSPosDistribution.cc.

References ParAlpha.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetParPhi ( G4double  parphi)

Definition at line 183 of file G4SPSPosDistribution.cc.

References ParPhi.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetParTheta ( G4double  parthe)

Definition at line 178 of file G4SPSPosDistribution.cc.

References ParTheta.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetPosDisShape ( G4String  shapeType)

Definition at line 99 of file G4SPSPosDistribution.cc.

References Shape.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue(), G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource(), and UltraPrimaryGeneratorAction::UltraPrimaryGeneratorAction().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetPosDisType ( G4String  PosType)
void G4SPSPosDistribution::SetPosRot1 ( G4ThreeVector  posrot1)

Definition at line 109 of file G4SPSPosDistribution.cc.

References G4cout, G4endl, GenerateRotationMatrices(), Rotx, and verbosityLevel.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue(), and UltraPrimaryGeneratorAction::UltraPrimaryGeneratorAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetPosRot2 ( G4ThreeVector  posrot2)

Definition at line 120 of file G4SPSPosDistribution.cc.

References G4cout, G4endl, GenerateRotationMatrices(), Roty, and verbosityLevel.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue(), and UltraPrimaryGeneratorAction::UltraPrimaryGeneratorAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetRadius ( G4double  rds)

Definition at line 147 of file G4SPSPosDistribution.cc.

References Radius.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue(), G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource(), and UltraPrimaryGeneratorAction::UltraPrimaryGeneratorAction().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetRadius0 ( G4double  rds)

Definition at line 152 of file G4SPSPosDistribution.cc.

References Radius0.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4SPSPosDistribution::SetVerbosity ( G4int  a)
inline

Definition at line 176 of file G4SPSPosDistribution.hh.

References a, and verbosityLevel.

Referenced by G4SingleParticleSource::SetVerbosity().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class G4SPSAngDistribution
friend

Definition at line 141 of file G4SPSPosDistribution.hh.

Member Data Documentation

G4bool G4SPSPosDistribution::Confine
private
G4Navigator* G4SPSPosDistribution::gNavigator
private

Definition at line 209 of file G4SPSPosDistribution.hh.

Referenced by G4SPSPosDistribution(), and IsSourceConfined().

G4double G4SPSPosDistribution::halfz
private
G4double G4SPSPosDistribution::ParAlpha
private
G4double G4SPSPosDistribution::ParPhi
private
G4double G4SPSPosDistribution::ParTheta
private
G4double G4SPSPosDistribution::Radius0
private
G4double G4SPSPosDistribution::SR
private

Definition at line 200 of file G4SPSPosDistribution.hh.

Referenced by G4SPSPosDistribution(), and SetBeamSigmaInR().

G4double G4SPSPosDistribution::SX
private
G4double G4SPSPosDistribution::SY
private
G4String G4SPSPosDistribution::VolName
private

The documentation for this class was generated from the following files: