35 #include "TrackingAction.hh"
36 #include "PrimaryGeneratorAction.hh"
40 #include "RunAction.hh"
41 #include "HistoManager.hh"
69 if(selectedGeneratorAction==2)
76 else if(selectedGeneratorAction==3)
83 G4double dalfa = analysis->GetH1Width(
id);
85 if (dOmega > 0.) analysis->FillH1(
id, alpha, 1./dOmega);
94 G4double psi = std::atan2(u2*um, u1*um);
95 if (psi < 0.) psi +=
twopi;
96 G4double dpsi = analysis->GetH1Width(
id);
98 dOmega = (1. - std::cos(alphaMax))*dpsi;
99 if (dOmega > 0.) analysis->FillH1(
id, psi, 1./dOmega);
101 else if(selectedGeneratorAction==4)
105 if (r <= 0.0)
return;
112 G4double dr = analysis->GetH1Width(
id);
114 if (dv > 0.) analysis->FillH1(
id, r, 1./dv);
120 G4double dteta = analysis->GetH1Width(
id);
121 dv = fDeltaR3*
twopi*std::sin(theta)*dteta;
122 if (dv > 0.) analysis->FillH1(
id, theta, 1./dv);
128 if (phi < 0.) phi +=
twopi;
129 G4double dphi = analysis->GetH1Width(
id);
130 dv = 2*fDeltaR3*dphi;
131 if (dv > 0.) analysis->FillH1(
id, phi, 1./dv);
138 G4double dalfa = analysis->GetH1Width(
id);
140 if (dOmega > 0.) analysis->FillH1(
id, alpha, 1./dOmega);
149 G4double psi = std::atan2(u2*um, u1*um);
150 if (psi < 0.) psi +=
twopi;
151 G4double dpsi = analysis->GetH1Width(
id);
152 dOmega = (fCosAlphaMin - fCosAlphaMax)*dpsi;
153 if (dOmega > 0.) analysis->FillH1(
id, psi, 1./dOmega);
Definition of the PrimaryGeneratorAction2 class.
PrimaryGeneratorAction3 * GetAction3()
G4double GetCosAlphaMax()
G4double GetCosAlphaMin()
G4double GetKineticEnergy() const
void PreUserTrackingAction(const G4Track *)
Definition of the PrimaryGeneratorAction3 class.
ExG4HbookAnalysisManager G4AnalysisManager
void PostUserTrackingAction(const G4Track *)
const G4ThreeVector & GetVertexPosition() const
const G4ThreeVector & GetMomentumDirection() const
G4int GetSelectedAction()
PrimaryGeneratorAction4 * GetAction4()
Definition of the PrimaryGeneratorAction4 class.