Geant4
10.03
|
Andrea Dotti Feb 2015 Important: This is a shared class between threads. More...
#include <G4SPSPosDistribution.hh>
Classes | |
struct | thread_data_t |
Private Member Functions | |
void | GenerateRotationMatrices () |
void | GeneratePointSource (G4ThreeVector &outoutPos) |
void | GeneratePointsInBeam (G4ThreeVector &outoutPos) |
void | GeneratePointsInPlane (G4ThreeVector &outoutPos) |
void | GeneratePointsOnSurface (G4ThreeVector &outputPos) |
void | GeneratePointsInVolume (G4ThreeVector &outputPos) |
G4bool | IsSourceConfined (G4ThreeVector &outputPos) |
Andrea Dotti Feb 2015 Important: This is a shared class between threads.
Only one thread should use the set-methods here. Note that this is exactly what is achieved using UI commands. If you use the set methods to set defaults in your application take care that only one thread is executing them. In addition take care of calling these methods before the run is started Do not use these setters during the event loop
Definition at line 156 of file G4SPSPosDistribution.hh.
G4SPSPosDistribution::G4SPSPosDistribution | ( | ) |
Definition at line 67 of file G4SPSPosDistribution.cc.
References a_mutex, CentreCoords, Confine, G4MUTEXINIT, halfx, halfy, halfz, CLHEP::HepXHat(), CLHEP::HepYHat(), CLHEP::HepZHat(), ParAlpha, ParPhi, ParTheta, Radius, Radius0, Rotx, Roty, Rotz, Shape, SourcePosType, SR, SX, SY, verbosityLevel, and VolName.
G4SPSPosDistribution::~G4SPSPosDistribution | ( | ) |
Definition at line 92 of file G4SPSPosDistribution.cc.
References a_mutex, and G4MUTEXDESTROY.
void G4SPSPosDistribution::ConfineSourceToVolume | ( | G4String | Vname | ) |
Definition at line 275 of file G4SPSPosDistribution.cc.
References Confine, G4cout, G4endl, G4PhysicalVolumeStore::GetInstance(), G4VPhysicalVolume::GetName(), verbosityLevel, and VolName.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
G4ThreeVector G4SPSPosDistribution::GenerateOne | ( | ) |
Definition at line 1049 of file G4SPSPosDistribution.cc.
References Confine, G4endl, G4Exception(), GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GeneratePointSource(), IsSourceConfined(), JustWarning, SourcePosType, and ThreadData.
Referenced by G4SingleParticleSource::GeneratePrimaryVertex().
|
private |
Definition at line 323 of file G4SPSPosDistribution.cc.
References CentreCoords, G4cout, G4endl, G4SPSRandomGenerator::GenRandX(), G4SPSRandomGenerator::GenRandY(), halfx, halfy, PosRndm, Radius, Rotx, Roty, Rotz, Shape, G4INCL::DeJongSpin::shoot(), SX, SY, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 383 of file G4SPSPosDistribution.cc.
References CentreCoords, G4SPSPosDistribution::thread_data_t::CSideRefVec1, G4SPSPosDistribution::thread_data_t::CSideRefVec2, G4SPSPosDistribution::thread_data_t::CSideRefVec3, G4cerr, G4cout, G4endl, G4SPSRandomGenerator::GenRandX(), G4SPSRandomGenerator::GenRandY(), halfx, halfy, PosRndm, Radius, Radius0, Rotx, Roty, Rotz, Shape, SourcePosType, ThreadData, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 910 of file G4SPSPosDistribution.cc.
References CentreCoords, G4SPSPosDistribution::thread_data_t::CSideRefVec1, G4SPSPosDistribution::thread_data_t::CSideRefVec2, G4SPSPosDistribution::thread_data_t::CSideRefVec3, G4cout, G4endl, G4SPSRandomGenerator::GenRandX(), G4SPSRandomGenerator::GenRandY(), G4SPSRandomGenerator::GenRandZ(), halfx, halfy, halfz, ParAlpha, ParPhi, ParTheta, PosRndm, Radius, Rotx, Roty, Rotz, Shape, SourcePosType, ThreadData, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 503 of file G4SPSPosDistribution.cc.
References CentreCoords, G4SPSPosDistribution::thread_data_t::CSideRefVec1, G4SPSPosDistribution::thread_data_t::CSideRefVec2, G4SPSPosDistribution::thread_data_t::CSideRefVec3, G4cout, G4endl, G4UniformRand, G4SPSRandomGenerator::GenRandPosPhi(), G4SPSRandomGenerator::GenRandPosTheta(), G4SPSRandomGenerator::GenRandX(), G4SPSRandomGenerator::GenRandY(), G4SPSRandomGenerator::GenRandZ(), halfx, halfy, halfz, ParAlpha, ParPhi, ParTheta, pi, PosRndm, Radius, Rotx, Roty, Rotz, Shape, SourcePosType, ThreadData, twopi, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 313 of file G4SPSPosDistribution.cc.
References CentreCoords, G4cerr, G4endl, SourcePosType, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 257 of file G4SPSPosDistribution.cc.
References G4cout, G4endl, Rotx, Roty, Rotz, and verbosityLevel.
Referenced by SetPosRot1(), and SetPosRot2().
G4ThreeVector G4SPSPosDistribution::GetCentreCoords | ( | ) | const |
Definition at line 201 of file G4SPSPosDistribution.cc.
References CentreCoords.
Referenced by G4GeneralParticleSource::ListSource().
G4double G4SPSPosDistribution::GetHalfX | ( | ) | const |
Definition at line 206 of file G4SPSPosDistribution.cc.
References halfx.
G4double G4SPSPosDistribution::GetHalfY | ( | ) | const |
Definition at line 211 of file G4SPSPosDistribution.cc.
References halfy.
G4double G4SPSPosDistribution::GetHalfZ | ( | ) | const |
Definition at line 216 of file G4SPSPosDistribution.cc.
References halfz.
G4ThreeVector G4SPSPosDistribution::GetParticlePos | ( | ) | const |
Definition at line 241 of file G4SPSPosDistribution.cc.
References ThreadData.
Referenced by G4SPSAngDistribution::GenerateFocusedFlux().
G4String G4SPSPosDistribution::GetPosDisShape | ( | ) | const |
Definition at line 196 of file G4SPSPosDistribution.cc.
References Shape.
Referenced by G4GeneralParticleSource::ListSource().
G4String G4SPSPosDistribution::GetPosDisType | ( | ) | const |
Definition at line 191 of file G4SPSPosDistribution.cc.
References SourcePosType.
Referenced by UltraPrimaryGeneratorAction::GeneratePrimaries(), and G4GeneralParticleSource::ListSource().
G4double G4SPSPosDistribution::GetRadius | ( | ) | const |
Definition at line 221 of file G4SPSPosDistribution.cc.
References Radius.
G4ThreeVector G4SPSPosDistribution::GetSideRefVec1 | ( | ) | const |
Definition at line 245 of file G4SPSPosDistribution.cc.
References ThreadData.
Referenced by G4SPSAngDistribution::GenerateCosineLawFlux(), G4SPSAngDistribution::GenerateIsotropicFlux(), and G4SPSAngDistribution::GenerateUserDefFlux().
G4ThreeVector G4SPSPosDistribution::GetSideRefVec2 | ( | ) | const |
Definition at line 249 of file G4SPSPosDistribution.cc.
References ThreadData.
Referenced by G4SPSAngDistribution::GenerateCosineLawFlux(), G4SPSAngDistribution::GenerateIsotropicFlux(), and G4SPSAngDistribution::GenerateUserDefFlux().
G4ThreeVector G4SPSPosDistribution::GetSideRefVec3 | ( | ) | const |
Definition at line 253 of file G4SPSPosDistribution.cc.
References ThreadData.
Referenced by G4SPSAngDistribution::GenerateCosineLawFlux(), G4SPSAngDistribution::GenerateIsotropicFlux(), and G4SPSAngDistribution::GenerateUserDefFlux().
G4String G4SPSPosDistribution::GetSourcePosType | ( | ) | const |
Definition at line 237 of file G4SPSPosDistribution.cc.
References SourcePosType.
Referenced by G4SPSAngDistribution::GenerateCosineLawFlux(), and G4SPSAngDistribution::GenerateIsotropicFlux().
|
private |
Definition at line 1023 of file G4SPSPosDistribution.cc.
References Confine, G4cout, G4endl, G4VPhysicalVolume::GetName(), G4TransportationManager::GetNavigatorForTracking(), G4TransportationManager::GetTransportationManager(), G4Navigator::LocateGlobalPointAndSetup(), verbosityLevel, and VolName.
Referenced by GenerateOne().
void G4SPSPosDistribution::SetBeamSigmaInR | ( | G4double | r | ) |
Definition at line 160 of file G4SPSPosDistribution.cc.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSPosDistribution::SetBeamSigmaInX | ( | G4double | r | ) |
Definition at line 166 of file G4SPSPosDistribution.cc.
References SX.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSPosDistribution::SetBeamSigmaInY | ( | G4double | r | ) |
Definition at line 171 of file G4SPSPosDistribution.cc.
References SY.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSPosDistribution::SetBiasRndm | ( | G4SPSRandomGenerator * | a | ) |
Definition at line 226 of file G4SPSPosDistribution.cc.
References a, a_mutex, and PosRndm.
Referenced by G4SingleParticleSource::G4SingleParticleSource().
void G4SPSPosDistribution::SetCentreCoords | ( | G4ThreeVector | coordsOfCentre | ) |
Definition at line 107 of file G4SPSPosDistribution.cc.
References CentreCoords.
Referenced by G4AdjointPrimaryGenerator::GenerateAdjointPrimaryVertex(), G4AdjointPrimaryGenerator::GenerateFwdPrimaryVertex(), G4GeneralParticleSourceMessenger::SetNewValue(), G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource(), and UltraActionInitializer::UltraActionInitializer().
void G4SPSPosDistribution::SetHalfX | ( | G4double | xhalf | ) |
Definition at line 135 of file G4SPSPosDistribution.cc.
References halfx.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSPosDistribution::SetHalfY | ( | G4double | yhalf | ) |
Definition at line 140 of file G4SPSPosDistribution.cc.
References halfy.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSPosDistribution::SetHalfZ | ( | G4double | zhalf | ) |
Definition at line 145 of file G4SPSPosDistribution.cc.
References halfz.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSPosDistribution::SetParAlpha | ( | G4double | paralp | ) |
Definition at line 176 of file G4SPSPosDistribution.cc.
References ParAlpha.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSPosDistribution::SetParPhi | ( | G4double | parphi | ) |
Definition at line 186 of file G4SPSPosDistribution.cc.
References ParPhi.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSPosDistribution::SetParTheta | ( | G4double | parthe | ) |
Definition at line 181 of file G4SPSPosDistribution.cc.
References ParTheta.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSPosDistribution::SetPosDisShape | ( | G4String | shapeType | ) |
Definition at line 102 of file G4SPSPosDistribution.cc.
References Shape.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue(), G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource(), and UltraActionInitializer::UltraActionInitializer().
void G4SPSPosDistribution::SetPosDisType | ( | G4String | PosType | ) |
Important: This is a shared class between threads.
Only one thread should use the set-methods here. Note that this is achieved by UI commands. If you use these methods to set defaults in your application take care that only one thread is executing them. In addition take care of calling these methods before the run is started Do not use these setters during the event loop
Definition at line 97 of file G4SPSPosDistribution.cc.
References SourcePosType.
Referenced by G4AdjointPrimaryGenerator::G4AdjointPrimaryGenerator(), G4AdjointPrimaryGenerator::SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(), G4GeneralParticleSourceMessenger::SetNewValue(), G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource(), and UltraActionInitializer::UltraActionInitializer().
void G4SPSPosDistribution::SetPosRot1 | ( | G4ThreeVector | posrot1 | ) |
Definition at line 112 of file G4SPSPosDistribution.cc.
References G4cout, G4endl, GenerateRotationMatrices(), Rotx, and verbosityLevel.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue(), and UltraActionInitializer::UltraActionInitializer().
void G4SPSPosDistribution::SetPosRot2 | ( | G4ThreeVector | posrot2 | ) |
Definition at line 123 of file G4SPSPosDistribution.cc.
References G4cout, G4endl, GenerateRotationMatrices(), Roty, and verbosityLevel.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue(), and UltraActionInitializer::UltraActionInitializer().
void G4SPSPosDistribution::SetRadius | ( | G4double | rds | ) |
Definition at line 150 of file G4SPSPosDistribution.cc.
References Radius.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue(), G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource(), and UltraActionInitializer::UltraActionInitializer().
void G4SPSPosDistribution::SetRadius0 | ( | G4double | rds | ) |
Definition at line 155 of file G4SPSPosDistribution.cc.
References Radius0.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSPosDistribution::SetVerbosity | ( | G4int | a | ) |
Definition at line 232 of file G4SPSPosDistribution.cc.
References a, and verbosityLevel.
Referenced by G4SingleParticleSource::SetVerbosity().
|
private |
Definition at line 271 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), SetBiasRndm(), and ~G4SPSPosDistribution().
|
private |
Definition at line 243 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GeneratePointSource(), GetCentreCoords(), and SetCentreCoords().
|
private |
Definition at line 265 of file G4SPSPosDistribution.hh.
Referenced by ConfineSourceToVolume(), G4SPSPosDistribution(), GenerateOne(), and IsSourceConfined().
|
private |
Definition at line 249 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GetHalfX(), and SetHalfX().
|
private |
Definition at line 250 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GetHalfY(), and SetHalfY().
|
private |
Definition at line 251 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GetHalfZ(), and SetHalfZ().
|
private |
Definition at line 261 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInVolume(), GeneratePointsOnSurface(), and SetParAlpha().
|
private |
Definition at line 263 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInVolume(), GeneratePointsOnSurface(), and SetParPhi().
|
private |
Definition at line 262 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInVolume(), GeneratePointsOnSurface(), and SetParTheta().
|
private |
Definition at line 272 of file G4SPSPosDistribution.hh.
Referenced by GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), and SetBiasRndm().
|
private |
Definition at line 253 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GetRadius(), and SetRadius().
|
private |
Definition at line 255 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInPlane(), and SetRadius0().
|
private |
Definition at line 245 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GenerateRotationMatrices(), and SetPosRot1().
|
private |
Definition at line 246 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GenerateRotationMatrices(), and SetPosRot2().
|
private |
Definition at line 247 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), and GenerateRotationMatrices().
|
private |
Definition at line 241 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GetPosDisShape(), and SetPosDisShape().
|
private |
Definition at line 239 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GenerateOne(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GeneratePointSource(), GetPosDisType(), GetSourcePosType(), and SetPosDisType().
|
private |
Definition at line 257 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), and SetBeamSigmaInR().
|
private |
Definition at line 258 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInBeam(), SetBeamSigmaInR(), and SetBeamSigmaInX().
|
private |
Definition at line 259 of file G4SPSPosDistribution.hh.
Referenced by G4SPSPosDistribution(), GeneratePointsInBeam(), SetBeamSigmaInR(), and SetBeamSigmaInY().
|
private |
Definition at line 269 of file G4SPSPosDistribution.hh.
Referenced by GenerateOne(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GetParticlePos(), GetSideRefVec1(), GetSideRefVec2(), and GetSideRefVec3().
|
private |
Definition at line 268 of file G4SPSPosDistribution.hh.
Referenced by ConfineSourceToVolume(), G4SPSPosDistribution(), GeneratePointsInBeam(), GeneratePointsInPlane(), GeneratePointsInVolume(), GeneratePointsOnSurface(), GeneratePointSource(), GenerateRotationMatrices(), IsSourceConfined(), SetPosRot1(), SetPosRot2(), and SetVerbosity().
|
private |
Definition at line 266 of file G4SPSPosDistribution.hh.
Referenced by ConfineSourceToVolume(), G4SPSPosDistribution(), and IsSourceConfined().