/scratch0/jsnuveri/BDSIM/BDSIMgit/bdsim/include/BDSTerminatorUserLimits.hh

00001 /* BDSIM
00002    Author: L. Nevay,
00003    Last modified 15/04/2014
00004    Copyright (c) 2014.  ALL RIGHTS RESERVED.
00005 */
00006 
00007 #ifndef BDSTerminatorUserLimits_h
00008 #define BDSTerminatorUserLimits_h
00009 
00010 #include "G4UserLimits.hh"
00011 #include "globals.hh"  // geant4 basic stl types
00012 
00013 
00014 class BDSTerminatorUserLimits : public G4UserLimits
00015 {
00016 public:
00017   BDSTerminatorUserLimits(G4double ustepMax = DBL_MAX,
00018                           G4double utrakMax = DBL_MAX,
00019                           G4double utimeMax = DBL_MAX,
00020                           G4double uekinMin = 0.,     
00021                           G4double urangMin = 0.);    
00022   
00023   BDSTerminatorUserLimits(const G4String& type,
00024                           G4double ustepMax = DBL_MAX,
00025                           G4double utrakMax = DBL_MAX,
00026                           G4double utimeMax = DBL_MAX,
00027                           G4double uekinMin = 0.,
00028                           G4double urangMin = 0.);
00029   
00030   virtual ~BDSTerminatorUserLimits(){};
00031   //must have implementation otherwise linker error
00032 
00033 public:
00034   // replace this function alone in G4UserLimits
00035   // where we only set the limit to E=0 eV on the
00036   // last turn
00037   virtual G4double GetUserMinEkine(const G4Track&);
00038   G4bool verbose;
00039 
00040 protected:
00041   G4double keeprunningEK; // minimum energy particle must have to keep going
00042   G4double stoprunningEK; // same, so everything < DBL_MAX so everything stopped
00043 };
00044 
00045 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7