#include "SteppingAction.hh" #include "EventAction.hh" #include "DetectorConstruction.hh" #include "RunAction.hh" #include "PrimaryGeneratorAction.hh" #include "G4Step.hh" #include "G4Event.hh" #include "G4RunManager.hh" #include "G4LogicalVolume.hh" #include "G4Track.hh" #include "G4StepPoint.hh" #include "G4Geantino.hh" #include "G4UserSteppingAction.hh" #include "G4ParticleDefinition.hh" #include "G4VProcess.hh" #include "G4ThreeVector.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... SteppingAction::SteppingAction(DetectorConstruction* detector, EventAction* event) : det(detector), eventAct(event) { origin->SetPosition(G4ThreeVector(0.,0.,0.)); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... SteppingAction::~SteppingAction() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void SteppingAction::UserSteppingAction(const G4Step* step) { if (step->GetPreStepPoint() == origin) { G4cout << "It has been produced at the origin" << G4endl; if (step->GetTrack()->GetParentID() == 1) { if (step->GetTrack()->GetDefinition()->GetPDGEncoding() == 11) { G4cout << "Kinetic energy: " << step->GetTrack()->GetKineticEnergy() << G4endl; G4cout << "Process: " << step->GetTrack()->GetCreatorProcess()->GetProcessName() << G4endl; } } } //Get the Track //G4Track* track = step->GetTrack(); //G4int pID = track->GetParentID(); //G4int tID = track->GetTrackID(); //const G4ParticleDefinition* particle = track->GetParticleDefinition(); //G4String particlename = particle->GetParticleName(); //G4cout << "Track ID is" << tID << G4endl; //G4cout << "Parent ID is " << pID << G4endl; //G4cout << "The partcile is" << particlename << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......