Geant4
10.01.p01
|
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 () |
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 254 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 374 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 300 of file G4SPSAngDistribution.cc.
References FocusPoint, G4cout, G4endl, G4SPSPosDistribution::GetParticlePos(), posDist, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 309 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 655 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 438 of file G4SPSAngDistribution.cc.
References G4cout, G4endl, and verbosityLevel.
Referenced by GenerateOne().
|
private |
Definition at line 449 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 593 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 547 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().
G4String G4SPSAngDistribution::GetDistType | ( | ) |
Definition at line 210 of file G4SPSAngDistribution.cc.
References AngDistType, and mutex.
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 640 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 229 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 235 of file G4SPSAngDistribution.cc.
References mutex, and UserWRTSurface.
Referenced by G4GeneralParticleSourceMessenger::SetNewValue().
void G4SPSAngDistribution::SetUseUserAngAxis | ( | G4bool | userang | ) |
Definition at line 246 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 216 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 227 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateBeamFlux(), GenerateOne(), GetDistType(), and SetAngDistType().
|
private |
Definition at line 228 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), and GenerateUserDefFlux().
|
private |
Definition at line 228 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), and GenerateUserDefFlux().
|
private |
Definition at line 228 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), and GenerateUserDefFlux().
|
private |
Definition at line 246 of file G4SPSAngDistribution.hh.
Referenced by GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), and SetBiasRndm().
|
private |
Definition at line 230 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateBeamFlux(), and SetBeamSigmaInAngR().
|
private |
Definition at line 230 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateBeamFlux(), and SetBeamSigmaInAngX().
|
private |
Definition at line 230 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateBeamFlux(), and SetBeamSigmaInAngY().
|
private |
Definition at line 232 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateFocusedFlux(), and SetFocusPoint().
|
private |
Definition at line 233 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateUserDefPhi(), ReSetHist(), and SetAngDistType().
|
private |
Definition at line 237 of file G4SPSAngDistribution.hh.
Referenced by GenerateUserDefPhi(), ReSetHist(), and SetAngDistType().
|
private |
Definition at line 233 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateUserDefTheta(), ReSetHist(), and SetAngDistType().
|
private |
Definition at line 235 of file G4SPSAngDistribution.hh.
Referenced by GenerateUserDefTheta(), ReSetHist(), and SetAngDistType().
|
private |
Definition at line 229 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), GetMaxPhi(), and SetMaxPhi().
|
private |
Definition at line 229 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), GetMaxTheta(), SetAngDistType(), and SetMaxTheta().
|
private |
Definition at line 229 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), GetMinPhi(), and SetMinPhi().
|
private |
Definition at line 229 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), GetMinTheta(), and SetMinTheta().
|
private |
Definition at line 253 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateUserDefPhi(), GenerateUserDefTheta(), 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 243 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateOne(), GenerateUserDefFlux(), and SetParticleMomentumDirection().
|
private |
Definition at line 231 of file G4SPSAngDistribution.hh.
Referenced by GenerateCosineLawFlux(), GenerateIsotropicFlux(), and GenerateUserDefFlux().
|
private |
Definition at line 245 of file G4SPSAngDistribution.hh.
Referenced by GenerateCosineLawFlux(), GenerateFocusedFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), and SetPosDistribution().
|
private |
Definition at line 231 of file G4SPSAngDistribution.hh.
Referenced by GenerateUserDefFlux().
|
private |
Definition at line 236 of file G4SPSAngDistribution.hh.
Referenced by GenerateUserDefPhi(), ReSetHist(), SetAngDistType(), and UserDefAngPhi().
|
private |
Definition at line 234 of file G4SPSAngDistribution.hh.
Referenced by GenerateUserDefTheta(), ReSetHist(), SetAngDistType(), and UserDefAngTheta().
|
private |
Definition at line 241 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateIsotropicFlux(), GenerateUserDefFlux(), and SetUseUserAngAxis().
|
private |
Definition at line 238 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateUserDefFlux(), GenerateUserDefPhi(), GenerateUserDefTheta(), UserDefAngPhi(), and UserDefAngTheta().
|
private |
Definition at line 239 of file G4SPSAngDistribution.hh.
Referenced by G4SPSAngDistribution(), GenerateUserDefFlux(), and SetUserWRTSurface().
|
private |
Definition at line 249 of file G4SPSAngDistribution.hh.
Referenced by DefineAngRefAxes(), G4SPSAngDistribution(), GenerateBeamFlux(), GenerateCosineLawFlux(), GenerateFocusedFlux(), GenerateIsotropicFlux(), GeneratePlanarFlux(), GenerateUserDefFlux(), SetVerbosity(), UserDefAngPhi(), and UserDefAngTheta().
|
private |
Definition at line 251 of file G4SPSAngDistribution.hh.
Referenced by ReSetHist(), and SetAngDistType().