Geant4
10.01.p02
|
Andrea Dotti Feb 2015 Important: This is a shared class between threads. More...
#include <G4SPSAngDistribution.hh>
Public Member Functions | |
G4SPSAngDistribution () | |
~G4SPSAngDistribution () | |
void | SetAngDistType (G4String) |
void | DefineAngRefAxes (G4String, G4ThreeVector) |
void | SetMinTheta (G4double) |
void | SetMinPhi (G4double) |
void | SetMaxTheta (G4double) |
void | SetMaxPhi (G4double) |
void | SetBeamSigmaInAngR (G4double) |
void | SetBeamSigmaInAngX (G4double) |
void | SetBeamSigmaInAngY (G4double) |
void | UserDefAngTheta (G4ThreeVector) |
void | UserDefAngPhi (G4ThreeVector) |
void | SetFocusPoint (G4ThreeVector) |
void | SetParticleMomentumDirection (G4ParticleMomentum aMomentumDirection) |
void | SetUseUserAngAxis (G4bool) |
void | SetUserWRTSurface (G4bool) |
void | SetPosDistribution (G4SPSPosDistribution *a) |
void | SetBiasRndm (G4SPSRandomGenerator *a) |
void | ReSetHist (G4String) |
void | SetVerbosity (G4int a) |
G4String | GetDistType () |
G4double | GetMinTheta () |
G4double | GetMaxTheta () |
G4double | GetMinPhi () |
G4double | GetMaxPhi () |
G4ThreeVector | GetDirection () |
G4ParticleMomentum | GenerateOne () |
Private Member Functions | |
void | GenerateFocusedFlux (G4ParticleMomentum &outputMom) |
void | GenerateIsotropicFlux (G4ParticleMomentum &outputMom) |
void | GenerateCosineLawFlux (G4ParticleMomentum &outputMom) |
void | GenerateBeamFlux (G4ParticleMomentum &outputMom) |
void | GeneratePlanarFlux (G4ParticleMomentum &outputMom) |
void | GenerateUserDefFlux (G4ParticleMomentum &outputMom) |
G4double | GenerateUserDefTheta () |
G4double | GenerateUserDefPhi () |
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 174 of file G4SPSAngDistribution.hh.
G4SPSAngDistribution::G4SPSAngDistribution | ( | ) |
Definition at line 55 of file G4SPSAngDistribution.cc.
References AngDistType, AngRef1, AngRef2, AngRef3, DR, DX, DY, FocusPoint, G4MUTEXINIT, CLHEP::HepXHat(), CLHEP::HepYHat(), CLHEP::HepZHat(), IPDFPhiExist, IPDFThetaExist, MaxPhi, MaxTheta, MinPhi, MinTheta, mutex, particle_momentum_direction, G4INCL::Math::pi, UserAngRef, UserDistType, UserWRTSurface, and verbosityLevel.
G4SPSAngDistribution::~G4SPSAngDistribution | ( | ) |
Definition at line 84 of file G4SPSAngDistribution.cc.
References G4MUTEXDESTROY, and mutex.
void G4SPSAngDistribution::DefineAngRefAxes | ( | G4String | refname, |
G4ThreeVector | ref | ||
) |
Definition at line 107 of file G4SPSAngDistribution.cc.
References AngRef1, AngRef2, AngRef3, G4cout, G4endl, mutex, UserAngRef, and verbosityLevel.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
|
private |
Definition at line 255 of file G4SPSAngDistribution.cc.
References AngDistType, AngRef1, AngRef2, AngRef3, DR, DX, DY, G4cout, G4endl, G4UniformRand, G4INCL::DeJongSpin::shoot(), UserAngRef, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 375 of file G4SPSAngDistribution.cc.
References AngRef1, AngRef2, AngRef3, angRndm, G4cout, G4endl, G4SPSRandomGenerator::GenRandPhi(), G4SPSRandomGenerator::GenRandTheta(), G4SPSPosDistribution::GetSideRefVec1(), G4SPSPosDistribution::GetSideRefVec2(), G4SPSPosDistribution::GetSideRefVec3(), G4SPSPosDistribution::GetSourcePosType(), MaxPhi, MaxTheta, MinPhi, MinTheta, Phi, posDist, UserAngRef, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 301 of file G4SPSAngDistribution.cc.
References FocusPoint, G4cout, G4endl, G4SPSPosDistribution::GetParticlePos(), posDist, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 310 of file G4SPSAngDistribution.cc.
References AngRef1, AngRef2, AngRef3, angRndm, G4cout, G4endl, G4SPSRandomGenerator::GenRandPhi(), G4SPSRandomGenerator::GenRandTheta(), G4SPSPosDistribution::GetSideRefVec1(), G4SPSPosDistribution::GetSideRefVec2(), G4SPSPosDistribution::GetSideRefVec3(), G4SPSPosDistribution::GetSourcePosType(), MaxPhi, MaxTheta, MinPhi, MinTheta, Phi, posDist, UserAngRef, and verbosityLevel.
Referenced by GenerateOne().
G4ParticleMomentum G4SPSAngDistribution::GenerateOne | ( | ) |
Definition at line 656 of file G4SPSAngDistribution.cc.
References AngDistType, G4cout, G4endl, GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateFocusedFlux(), GenerateIsotropicFlux(), GeneratePlanarFlux(), GenerateUserDefFlux(), and particle_momentum_direction.
Referenced by G4SingleParticleSource::GeneratePrimaryVertex().
|
private |
Definition at line 439 of file G4SPSAngDistribution.cc.
References G4cout, G4endl, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 450 of file G4SPSAngDistribution.cc.
References AngRef1, AngRef2, AngRef3, angRndm, G4cout, G4endl, GenerateUserDefPhi(), GenerateUserDefTheta(), G4SPSRandomGenerator::GenRandPhi(), G4SPSRandomGenerator::GenRandTheta(), G4SPSPosDistribution::GetSideRefVec1(), G4SPSPosDistribution::GetSideRefVec2(), G4SPSPosDistribution::GetSideRefVec3(), MaxPhi, MaxTheta, MinPhi, MinTheta, particle_momentum_direction, Phi, posDist, Theta, UserAngRef, UserDistType, UserWRTSurface, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 594 of file G4SPSAngDistribution.cc.
References G4cout, G4endl, G4UniformRand, G4PhysicsOrderedFreeVector::GetEnergy(), G4PhysicsVector::GetLowEdgeEnergy(), G4PhysicsVector::GetVectorLength(), G4PhysicsOrderedFreeVector::InsertValues(), IPDFPhiExist, IPDFPhiH, mutex, UDefPhiH, G4TemplateAutoLock< M, L, U >::unlock(), and UserDistType.
Referenced by GenerateUserDefFlux().
|
private |
Definition at line 548 of file G4SPSAngDistribution.cc.
References G4cout, G4endl, G4UniformRand, G4PhysicsOrderedFreeVector::GetEnergy(), G4PhysicsVector::GetLowEdgeEnergy(), G4PhysicsVector::GetVectorLength(), G4PhysicsOrderedFreeVector::InsertValues(), IPDFThetaExist, IPDFThetaH, mutex, UDefThetaH, G4TemplateAutoLock< M, L, U >::unlock(), and UserDistType.
Referenced by GenerateUserDefFlux().
G4ThreeVector G4SPSAngDistribution::GetDirection | ( | ) |
Definition at line 215 of file G4SPSAngDistribution.cc.
References mutex, and particle_momentum_direction.
Referenced by G4GeneralParticleSource::ListSource().
G4String G4SPSAngDistribution::GetDistType | ( | ) |
Definition at line 210 of file G4SPSAngDistribution.cc.
References AngDistType, and mutex.
Referenced by G4GeneralParticleSource::ListSource().
G4double G4SPSAngDistribution::GetMaxPhi | ( | ) |
Definition at line 214 of file G4SPSAngDistribution.cc.
G4double G4SPSAngDistribution::GetMaxTheta | ( | ) |
Definition at line 212 of file G4SPSAngDistribution.cc.
G4double G4SPSAngDistribution::GetMinPhi | ( | ) |
Definition at line 213 of file G4SPSAngDistribution.cc.
G4double G4SPSAngDistribution::GetMinTheta | ( | ) |
Definition at line 211 of file G4SPSAngDistribution.cc.
void G4SPSAngDistribution::ReSetHist | ( | G4String | atype | ) |
Definition at line 641 of file G4SPSAngDistribution.cc.
References G4cout, G4endl, IPDFPhiExist, IPDFPhiH, IPDFThetaExist, IPDFThetaH, mutex, UDefPhiH, UDefThetaH, and ZeroPhysVector.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::SetAngDistType | ( | G4String | atype | ) |
Definition at line 90 of file G4SPSAngDistribution.cc.
References AngDistType, G4cout, G4endl, IPDFPhiExist, IPDFPhiH, IPDFThetaExist, IPDFThetaH, MaxTheta, mutex, G4INCL::Math::pi, UDefPhiH, UDefThetaH, and ZeroPhysVector.
Referenced by G4AdjointPrimaryGenerator::G4AdjointPrimaryGenerator(), G4AdjointPrimaryGenerator::SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(), G4GeneralParticleSourceMessenger::SetNewValue(), and G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource().
void G4SPSAngDistribution::SetBeamSigmaInAngR | ( | G4double | r | ) |
Definition at line 153 of file G4SPSAngDistribution.cc.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::SetBeamSigmaInAngX | ( | G4double | r | ) |
Definition at line 159 of file G4SPSAngDistribution.cc.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::SetBeamSigmaInAngY | ( | G4double | r | ) |
Definition at line 165 of file G4SPSAngDistribution.cc.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::SetBiasRndm | ( | G4SPSRandomGenerator * | a | ) |
Definition at line 184 of file G4SPSAngDistribution.cc.
References a, angRndm, and mutex.
Referenced by G4SingleParticleSource::G4SingleParticleSource().
void G4SPSAngDistribution::SetFocusPoint | ( | G4ThreeVector | input | ) |
Definition at line 230 of file G4SPSAngDistribution.cc.
References FocusPoint, and mutex.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::SetMaxPhi | ( | G4double | maxp | ) |
Definition at line 147 of file G4SPSAngDistribution.cc.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::SetMaxTheta | ( | G4double | maxt | ) |
Definition at line 141 of file G4SPSAngDistribution.cc.
References MaxTheta, and mutex.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue(), and G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource().
void G4SPSAngDistribution::SetMinPhi | ( | G4double | minp | ) |
Definition at line 135 of file G4SPSAngDistribution.cc.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::SetMinTheta | ( | G4double | mint | ) |
Definition at line 129 of file G4SPSAngDistribution.cc.
References MinTheta, and mutex.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue(), and G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource().
void G4SPSAngDistribution::SetParticleMomentumDirection | ( | G4ParticleMomentum | aMomentumDirection | ) |
Definition at line 171 of file G4SPSAngDistribution.cc.
References mutex, and particle_momentum_direction.
Referenced by G4AdjointPrimaryGenerator::GenerateAdjointPrimaryVertex(), G4AdjointPrimaryGenerator::GenerateFwdPrimaryVertex(), G4GeneralParticleSourceMessenger::SetNewValue(), and UltraActionInitializer::UltraActionInitializer().
void G4SPSAngDistribution::SetPosDistribution | ( | G4SPSPosDistribution * | a | ) |
Definition at line 178 of file G4SPSAngDistribution.cc.
References a, mutex, and posDist.
Referenced by G4SingleParticleSource::G4SingleParticleSource().
void G4SPSAngDistribution::SetUserWRTSurface | ( | G4bool | wrtSurf | ) |
Definition at line 236 of file G4SPSAngDistribution.cc.
References mutex, and UserWRTSurface.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::SetUseUserAngAxis | ( | G4bool | userang | ) |
Definition at line 247 of file G4SPSAngDistribution.cc.
References mutex, and UserAngRef.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::SetVerbosity | ( | G4int | a | ) |
Definition at line 190 of file G4SPSAngDistribution.cc.
References a, mutex, and verbosityLevel.
Referenced by G4SingleParticleSource::SetVerbosity().
void G4SPSAngDistribution::UserDefAngPhi | ( | G4ThreeVector | input | ) |
Definition at line 217 of file G4SPSAngDistribution.cc.
References G4cout, G4endl, G4PhysicsOrderedFreeVector::InsertValues(), mutex, UDefPhiH, UserDistType, and verbosityLevel.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::UserDefAngTheta | ( | G4ThreeVector | input | ) |
Definition at line 197 of file G4SPSAngDistribution.cc.
References G4cout, G4endl, G4PhysicsOrderedFreeVector::InsertValues(), mutex, UDefThetaH, UserDistType, and verbosityLevel.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
|
private |
Definition at line 228 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateBeamFlux(), GenerateOne(), GetDistType(), and SetAngDistType().
|
private |
Definition at line 229 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), and GenerateUserDefFlux().
|
private |
Definition at line 229 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), and GenerateUserDefFlux().
|
private |
Definition at line 229 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), and GenerateUserDefFlux().
|
private |
Definition at line 247 of file G4SPSAngDistribution.hh.
Referenced by GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), and SetBiasRndm().
|
private |
Definition at line 231 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateBeamFlux(), and SetBeamSigmaInAngR().
|
private |
Definition at line 231 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateBeamFlux(), and SetBeamSigmaInAngX().
|
private |
Definition at line 231 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateBeamFlux(), and SetBeamSigmaInAngY().
|
private |
Definition at line 233 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateFocusedFlux(), and SetFocusPoint().
|
private |
Definition at line 234 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateUserDefPhi(), ReSetHist(), and SetAngDistType().
|
private |
Definition at line 238 of file G4SPSAngDistribution.hh.
Referenced by GenerateUserDefPhi(), ReSetHist(), and SetAngDistType().
|
private |
Definition at line 234 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateUserDefTheta(), ReSetHist(), and SetAngDistType().
|
private |
Definition at line 236 of file G4SPSAngDistribution.hh.
Referenced by GenerateUserDefTheta(), ReSetHist(), and SetAngDistType().
|
private |
Definition at line 230 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), GetMaxPhi(), and SetMaxPhi().
|
private |
Definition at line 230 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), GetMaxTheta(), SetAngDistType(), and SetMaxTheta().
|
private |
Definition at line 230 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), GetMinPhi(), and SetMinPhi().
|
private |
Definition at line 230 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), GetMinTheta(), and SetMinTheta().
|
private |
Definition at line 254 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateUserDefPhi(), GenerateUserDefTheta(), GetDirection(), GetDistType(), GetMaxPhi(), GetMaxTheta(), GetMinPhi(), GetMinTheta(), ReSetHist(), SetAngDistType(), SetBeamSigmaInAngR(), SetBeamSigmaInAngX(), SetBeamSigmaInAngY(), SetBiasRndm(), SetFocusPoint(), SetMaxPhi(), SetMaxTheta(), SetMinPhi(), SetMinTheta(), SetParticleMomentumDirection(), SetPosDistribution(), SetUserWRTSurface(), SetUseUserAngAxis(), SetVerbosity(), UserDefAngPhi(), UserDefAngTheta(), and ~G4SPSAngDistribution().
|
private |
Definition at line 244 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateOne(), GenerateUserDefFlux(), GetDirection(), and SetParticleMomentumDirection().
|
private |
Definition at line 232 of file G4SPSAngDistribution.hh.
Referenced by GenerateCosineLawFlux(), GenerateIsotropicFlux(), and GenerateUserDefFlux().
|
private |
Definition at line 246 of file G4SPSAngDistribution.hh.
Referenced by GenerateCosineLawFlux(), GenerateFocusedFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), and SetPosDistribution().
|
private |
Definition at line 232 of file G4SPSAngDistribution.hh.
Referenced by GenerateUserDefFlux().
|
private |
Definition at line 237 of file G4SPSAngDistribution.hh.
Referenced by GenerateUserDefPhi(), ReSetHist(), SetAngDistType(), and UserDefAngPhi().
|
private |
Definition at line 235 of file G4SPSAngDistribution.hh.
Referenced by GenerateUserDefTheta(), ReSetHist(), SetAngDistType(), and UserDefAngTheta().
|
private |
Definition at line 242 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), and SetUseUserAngAxis().
|
private |
Definition at line 239 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateUserDefFlux(), GenerateUserDefPhi(), GenerateUserDefTheta(), UserDefAngPhi(), and UserDefAngTheta().
|
private |
Definition at line 240 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateUserDefFlux(), and SetUserWRTSurface().
|
private |
Definition at line 250 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateFocusedFlux(), GenerateIsotropicFlux(), GeneratePlanarFlux(), GenerateUserDefFlux(), SetVerbosity(), UserDefAngPhi(), and UserDefAngTheta().
|
private |
Definition at line 252 of file G4SPSAngDistribution.hh.
Referenced by ReSetHist(), and SetAngDistType().