85 {
return fSinglePhotonRadiationProbabilityLimit;}
103 {
return fPhotonEnergyInSpectrum;}
112 {fSinglePhotonRadiationProbabilityLimit = wmax;}
117 {fNSmallTrajectorySteps = nSmallTrajectorySteps;}
131 {fRadiationAngleFactor = radiationAngleFactor;}
155 G4int timesPhotonStatistics);
160 {fVirtualCollimatorAngularDiameter=virtualCollimatorAngularDiameter;}
173 G4bool flagEndTrajectory=
false);
187 void SetPhotonSamplingParameters(
G4double ekin,
195 void GeneratePhotonSampling();
201 std::vector<G4double> &vectorParticleAnglesX,
202 std::vector<G4double> &vectorParticleAnglesY,
203 std::vector<G4double> &vectorScatteringAnglesX,
204 std::vector<G4double> &vectorScatteringAnglesY,
205 std::vector<G4double> &vectorSteps,
213 G4int FindVectorIndex(std::vector<G4double> &myvector,
G4double value);
215 G4double fTotalRadiationProbability = 0.;
216 G4double fSinglePhotonRadiationProbabilityLimit=0.25;
220 G4int fNSmallTrajectorySteps=10000;
224 G4int fNMCPhotons =150;
226 G4int fNBinsSpectrum = 110;
227 G4double fMinPhotonEnergy = 0.1*CLHEP::MeV;
228 G4double fMaxPhotonEnergy = 1*CLHEP::GeV;
238 G4double fVirtualCollimatorAngularDiameter=1.;
239 std::vector<G4bool> fInsideVirtualCollimator;
242 std::vector<G4double> fLogAddRangeEmindEmin;
243 std::vector<G4double> fLogAddRangeEmaxdEmin;
244 std::vector<G4int> fTimesPhotonStatistics;
248 G4int fItrajectories = 0;
256 G4double fParamPhotonAngleX=1.e-3*CLHEP::rad;
260 G4double fParamPhotonAngleY=1.e-3*CLHEP::rad;
262 G4double fRadiationAngleFactor = 1.;
275 std::vector<G4double> fPhotonEnergyInIntegral;
276 std::vector<G4double> fPhotonAngleInIntegralX;
277 std::vector<G4double> fPhotonAngleInIntegralY;
278 std::vector<G4double> fPhotonAngleNormCoef;
280 std::vector<G4double> fIBinsSpectrum;
282 std::vector<G4double> fPhotonProductionCDF;
285 std::vector<G4double> fParticleAnglesX;
286 std::vector<G4double> fParticleAnglesY;
287 std::vector<G4double> fScatteringAnglesX;
288 std::vector<G4double> fScatteringAnglesY;
289 std::vector<G4double> fSteps;
290 std::vector<G4double> fGlobalTimes;
291 std::vector<G4ThreeVector> fParticleCoordinatesXYZ;
294 std::vector<G4double> fFa;
295 std::vector<G4double> fSs;
296 std::vector<G4double> fSc;
297 std::vector<G4double> fSsx;
298 std::vector<G4double> fSsy;
299 std::vector<G4double> fScx;
300 std::vector<G4double> fScy;
303 std::vector<G4double> fPhotonEnergyInSpectrum;
305 std::vector<G4int> fNPhotonsPerBin;
308 std::vector<G4double> fSpectrum;
311 std::vector<std::vector<G4double>> fAccumSpectrum;
314 std::vector<G4double> fAccumTotalSpectrum;
319 std::vector<G4double> fTotalSpectrum;
326 std::vector<G4double> fImax0;
329 std::vector<G4double> fTotalRadiationProbabilityAlongTrajectory;
G4bool DoRadiation(G4double etotal, G4double mass, G4double angleX, G4double angleY, G4double angleScatteringX, G4double angleScatteringY, G4double step, G4double globalTime, G4ThreeVector coordinateXYZ, G4bool flagEndTrajectory=false)