35 #include "TrackingAction.hh"
37 #include "DetectorConstruction.hh"
38 #include "RunAction.hh"
39 #include "HistoManager.hh"
48 :fDetector(DET), fRunAction(RA)
68 if (charge == 0.0)
return;
69 if (position.
z() < fZend)
return;
70 if (direction.
z() <= 0.)
return;
77 G4double ux = direction.
x(), uy = direction.
y(), uz = direction.
z();
80 analysisManager->FillH1(ih, thetax);
81 analysisManager->FillH1(ih, thetay);
88 dr = analysisManager->GetH1Width(ih);
89 rmin = ((
int)(r/dr))*dr;
90 ds =
twopi*(rmin + 0.5*dr)*dr;
91 analysisManager->FillH1(ih, r, 1/ds);
96 dr = analysisManager->GetH1Width(ih);
97 rmin = ((
int)(r/dr))*dr;
98 ds =
twopi*(rmin + 0.5*dr)*dr;
99 analysisManager->FillH1(ih, r, 1/(uz*ds));
110 G4double dtheta = analysisManager->GetH1Width(ih);
111 G4double unit = analysisManager->GetH1Unit(ih);
114 analysisManager->FillH1(ih, theta, weight);
122 G4double thetam = std::atan(r/dist);
124 G4double dtheta = analysisManager->GetH1Width(ih);
125 G4double unit = analysisManager->GetH1Unit(ih);
128 analysisManager->FillH1(ih, thetam, weight);
G4ParticleDefinition * GetDefinition() const
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
const G4ThreeVector & GetPosition() const
G4double GetThicknessFrame()
G4double GetThicknessWorld()
void PreUserTrackingAction(const G4Track *)
ExG4HbookAnalysisManager G4AnalysisManager
void PostUserTrackingAction(const G4Track *)
const G4ThreeVector & GetMomentumDirection() const
G4double GetPDGCharge() const
void SumFluence(G4double, G4double)