00001 /* BDSIM code. Version 1.0 00002 Author: Grahame A. Blair, Royal Holloway, Univ. of London. 00003 Last modified 24.7.2002 00004 Copyright (c) 2002 by G.A.Blair. ALL RIGHTS RESERVED. 00005 */ 00006 00007 // This code implementation is the intellectual property of 00008 // the GEANT4 collaboration. 00009 // 00010 // By copying, distributing or modifying the Program (or any work 00011 // based on the Program) you indicate your acceptance of this statement, 00012 // and all its terms. 00013 // 00014 // $Id: BDSSteppingAction.hh,v 1.3 2007/07/18 13:35:01 malton Exp $ 00015 // GEANT4 tag $Name: $ 00016 // 00017 // 00018 00019 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 00020 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 00021 00022 #ifndef BDSSteppingAction_h 00023 #define BDSSteppingAction_h 1 00024 00025 #include <vector> 00026 00027 #include "G4UserSteppingAction.hh" 00028 00029 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 00030 00031 class BDSSteppingAction : public G4UserSteppingAction 00032 { 00033 public: 00034 BDSSteppingAction(); 00035 virtual ~BDSSteppingAction(); 00036 00037 virtual void UserSteppingAction(const G4Step*); 00038 00039 void SetTrackLengthInWorldRegion(G4double dvalue); 00040 void SetTrackLength(G4double dvalue); 00041 G4double GetTrackLengthInWorldRegion(); 00042 G4double GetTrackLength(); 00043 00044 private: 00045 G4bool verbose; 00046 G4bool verboseStep; 00047 G4bool verboseEvent; 00048 G4int verboseEventNumber; 00049 G4int nptwiss; 00050 00051 // G4double itsTrackWeight; 00052 // G4double itsInverseTrackWeight; 00053 00054 // G4int itsLastTrackID,itsNtry,itsNmax; 00055 // G4double itsLastZpos; 00056 // G4double itsZposTolerance; 00057 // G4double itsPosKick; 00058 G4double postponedEnergy; 00059 00060 G4double trackLengthInWorldRegion; 00061 G4double trackLength; 00062 00063 std::vector<G4ThreeVector> r; 00064 std::vector<G4ThreeVector> rp; 00065 00066 00067 }; 00068 00069 #endif