Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

GLG4DeferTrackProc.hh

00001 // This file is part of the GenericLAND software library.
00002 // $Id: GLG4DeferTrackProc.hh,v 1.1.1.1 2004/12/21 22:29:48 GLG4sim Exp $
00003 //
00004 // Process to limit step length to stay within event time
00005 // and defer long tracks (AND tracks which start after event time) using
00006 // defered particle "generator".
00007 //
00008 // Written: G. Horton-Smith, 29-Oct-2001
00009 //
00010 #ifndef GLG4DeferTrackProc_h
00011 #define GLG4DeferTrackProc_h 1
00012 
00013 #include "G4ios.hh"
00014 #include "globals.hh"
00015 #include "G4VProcess.hh"
00016 
00017 ////////////////////////////////////////////////////////////////
00018 
00019 class GLG4PrimaryGeneratorAction;
00020 class G4HadronCaptureProcess;
00021 
00022 class GLG4DeferTrackProc : public G4VProcess 
00023 {
00024  public:  //with description     
00025 
00026   GLG4DeferTrackProc(const G4String& processName="DeferTrackProc");
00027 
00028   ~GLG4DeferTrackProc();
00029 
00030   virtual G4double PostStepGetPhysicalInteractionLength(
00031                              const G4Track& track,
00032                              G4double   previousStepSize,
00033                              G4ForceCondition* condition
00034                             );
00035 
00036   virtual G4VParticleChange* PostStepDoIt(
00037                              const G4Track& ,
00038                              const G4Step& 
00039                             );
00040                             
00041  public:  //without description 
00042                             
00043      //  no operation in  AtRestGPIL
00044      virtual G4double AtRestGetPhysicalInteractionLength(
00045                              const G4Track& ,
00046                              G4ForceCondition* 
00047                             ){ return -1.0; };
00048                             
00049      //  no operation in  AtRestDoIt      
00050      virtual G4VParticleChange* AtRestDoIt(
00051                              const G4Track& ,
00052                              const G4Step&
00053                             ){return NULL;};
00054 
00055      //  no operation in  AlongStepGPIL
00056      virtual G4double AlongStepGetPhysicalInteractionLength(
00057                              const G4Track&,
00058                              G4double  ,
00059                              G4double  ,
00060                              G4double& ,
00061                              G4GPILSelection*
00062                             ){ return -1.0; };
00063 
00064      //  no operation in  AlongStepDoIt
00065      virtual G4VParticleChange* AlongStepDoIt(
00066                              const G4Track& ,
00067                              const G4Step& 
00068                             ) {return NULL;};
00069 
00070  private:
00071   
00072   // hide assignment operator as private 
00073       GLG4DeferTrackProc(GLG4DeferTrackProc&);
00074       GLG4DeferTrackProc& operator=(const GLG4DeferTrackProc& right);
00075 
00076  private:
00077   GLG4PrimaryGeneratorAction* _generator;
00078 };
00079 
00080 #endif
00081 

Generated on Fri Jul 6 13:31:46 2007 for GLG4sim by  doxygen 1.3.9.1