34 #include "SteppingAction.hh"
35 #include "DetectorConstruction.hh"
36 #include "RunAction.hh"
37 #include "HistoManager.hh"
73 if (procName !=
"msc" && procName !=
"muMsc" && procName !=
"stepMax")
return;
82 G4double ratio = geomPathLength/truePathLength;
85 analysisManager->FillH1(1,truePathLength);
86 analysisManager->FillH1(2,geomPathLength);
87 analysisManager->FillH1(3,ratio);
89 G4double yend = position.y(), zend = position.z();
90 G4double lateralDisplacement = std::sqrt(yend*yend + zend*zend);
92 analysisManager->FillH1(4,lateralDisplacement);
94 G4double psi = std::atan(lateralDisplacement/geomPathLength);
96 analysisManager->FillH1(5,psi);
98 G4double xdir = direction.x(), ydir = direction.y(), zdir = direction.z();
99 G4double tetaPlane = std::atan2(ydir, xdir);
101 analysisManager->FillH1(6,tetaPlane);
102 tetaPlane = std::atan2(zdir, xdir);
104 analysisManager->FillH1(6,tetaPlane);
106 G4double phiPos = std::atan2(zend, yend);
107 analysisManager->FillH1(7,phiPos);
108 G4double phiDir = std::atan2(zdir, ydir);
109 analysisManager->FillH1(8,phiDir);
112 if (lateralDisplacement > 0.)
113 phiCorrel = (yend*ydir + zend*zdir)/lateralDisplacement;
115 analysisManager->FillH1(9,phiCorrel);
void SumTetaPlane(G4double teta)
CLHEP::Hep3Vector G4ThreeVector
G4double GetStepLength() const
const G4VPhysicalVolume * GetWorld()
void UserSteppingAction(const G4Step *)
G4StepPoint * GetPreStepPoint() const
const G4ThreeVector & GetMomentumDirection() const
const G4ThreeVector & GetPosition() const
ExG4HbookAnalysisManager G4AnalysisManager
void CountProcesses(G4String)
DetectorConstruction * fDetector
const G4String & GetProcessName() const
static G4RunManager * GetRunManager()
const G4VProcess * GetProcessDefinedStep() const
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
G4StepPoint * GetPostStepPoint() const
void SumLateralDisplacement(G4double displa)
Detector construction class to demonstrate various ways of placement.
virtual void AbortEvent()
void SumPhiCorrel(G4double correl)
void SumPathLength(G4double truepl, G4double geompl)
void SumPsi(G4double psi)
const G4TouchableHandle & GetTouchableHandle() const