130 G4double sunPosX = x0 + rho * std::sin(theta) * std::cos(phi);
131 G4double sunPosY = y0 + rho * std::sin(theta) * std::sin(phi);
132 G4double sunPosZ = z0 + rho * std::cos(theta);
151 G4double mercuryPosX = rho * std::sin(theta) * std::cos(phi);
152 G4double mercuryPosY = rho * std::sin(theta) * std::sin(phi);
153 G4double mercuryPosZ = rho * std::cos(theta);
156 G4ThreeVector(mercuryPosX-sunPosX ,mercuryPosY-sunPosY,mercuryPosZ-sunPosZ));
198 if(particle ==
"proton"|| particle ==
"alpha")
207 while (partSum<random)
209 partSum += (*data)[j];
216 else if (particle ==
"gamma")
225 G4double energyRange = maxEnergy - minEnergy;
233 particleEnergy = (random*energyRange) + minEnergy;
235 if ((dataSet->
FindValue(particleEnergy,
id)) > randomNum)
246 #ifdef G4ANALYSIS_USE
CLHEP::Hep3Vector G4ThreeVector
G4DataVector * GetData() const
G4double GetMercuryDia() const
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
G4double GetSunDia() const
virtual void GeneratePrimaryVertex(G4Event *evt)
void analysePrimaryGenerator(G4double energy)
G4ParticleGun * particleGun
G4double FindValue(G4double e, G4int) const
void SetParticlePosition(G4ThreeVector aPosition)
const G4String & GetParticleName() const
static XrayFluoAnalysisManager * getInstance()
G4double GetParticleEnergy() const
G4double GetWorldSizeZ() const
const XrayFluoDataSet * GetGammaSet() const
G4DataVector * GetEnergies() const
G4double GetDataSum() const
void SetParticleEnergy(G4double aKineticEnergy)
G4double GetOrbitInclination() const
XrayFluoRunAction * runManager
static const G4double alpha
const XrayFluoMercuryDetectorConstruction * XrayFluoDetector
G4ParticleDefinition * GetParticleDefinition() const
G4double GetOpticAperture() const