#ifndef SteppingAction_h #define SteppingAction_h 1 #include "G4UserSteppingAction.hh" #include "globals.hh" class EventAction; class TrackingAction; class HistoManager; class G4LogicalVolume; /// Stepping action class /// class SteppingAction : public G4UserSteppingAction { public: SteppingAction(EventAction* eventAction, TrackingAction* trackingAction); virtual ~SteppingAction(); // method from the base class virtual void UserSteppingAction(const G4Step*); virtual void TrackerSteppingAction(const G4Step*); // to keep things simple put all JT stuff in a function virtual void RangeTelescopeSteppingAction(const G4Step*); // to keep things simple for now put ME stuff in a function G4double GetThickness(const G4Step* step); G4double GetProton1MeVNeutronEquivalence(G4double energy); G4double GetNeutron1MeVNeutronEquivalence(G4double energy); G4double GetElectron1MeVNeutronEquivalence(G4double energy); private: EventAction* fEventAction; TrackingAction* fTrackingAction; G4LogicalVolume* fScoringVolume; G4int radioactiveTrackIDEpi1; G4int radioactiveTrackIDEpi2; G4double EpiThick; G4double SubThick; HistoManager* histoManager; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif