34 #include "SteppingAction.hh"
35 #include "RunAction.hh"
58 if (process == 0)
return;
62 if (processName !=
"GammaToMuPair")
return;
71 for (
size_t lp=0; lp<(*secondary).size(); lp++) {
73 Eplus = (*secondary)[lp]->GetTotalEnergy();
74 Pplus = (*secondary)[lp]->GetMomentum();
76 Eminus = (*secondary)[lp]->GetTotalEnergy();
77 Pminus = (*secondary)[lp]->GetMomentum();
81 G4double xPlus = Eplus/EGamma, xMinus = Eminus/EGamma;
88 if(0.0 == thetaPlus || 0.0 == thetaMinus) {
89 G4cout <<
"SteppingAction: "
90 <<
"thetaPlus= " << thetaPlus <<
" thetaMinus= " << thetaMinus
91 <<
" gamPlus= " << GammaPlus <<
" gamMinus= " << GammaMinus
92 <<
" " << thetaPlus *GammaPlus - thetaMinus*GammaMinus <<
G4endl;
95 analysisManager->FillH1(1,1./(1.+std::pow(thetaPlus*GammaPlus,2)));
96 analysisManager->FillH1(2,std::log10(thetaPlus*GammaPlus));
98 analysisManager->FillH1(3,std::log10(thetaMinus*GammaMinus));
99 analysisManager->FillH1(4,std::log10(std::fabs(thetaPlus *GammaPlus
100 -thetaMinus*GammaMinus)));
102 analysisManager->FillH1(5,xPlus);
103 analysisManager->FillH1(6,xMinus);
G4double GetTotalEnergy() const
G4StepPoint * GetPreStepPoint() const
G4double GetPDGMass() const
double angle(const Hep3Vector &) const
void CountProcesses(G4String)
const G4TrackVector * GetSecondary() const
const G4String & GetProcessName() const
G4CsvAnalysisManager G4AnalysisManager
G4StepPoint * GetPostStepPoint() const
void UserSteppingAction(const G4Step *)
G4SteppingManager * fpSteppingManager
std::vector< G4Track * > G4TrackVector
static G4MuonPlus * MuonPlus()
G4GLOB_DLL std::ostream G4cout
G4ThreeVector GetMomentum() const
static G4MuonPlus * MuonPlusDefinition()
const G4VProcess * GetProcessDefinedStep() const