Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:59:06

0001 //
0002 // ********************************************************************
0003 // * License and Disclaimer                                           *
0004 // *                                                                  *
0005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
0006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
0007 // * conditions of the Geant4 Software License,  included in the file *
0008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
0009 // * include a list of copyright holders.                             *
0010 // *                                                                  *
0011 // * Neither the authors of this software system, nor their employing *
0012 // * institutes,nor the agencies providing financial support for this *
0013 // * work  make  any representation or  warranty, express or implied, *
0014 // * regarding  this  software system or assume any liability for its *
0015 // * use.  Please see the license in the file  LICENSE  and URL above *
0016 // * for the full disclaimer and the limitation of liability.         *
0017 // *                                                                  *
0018 // * This  code  implementation is the result of  the  scientific and *
0019 // * technical work of the GEANT4 collaboration.                      *
0020 // * By using,  copying,  modifying or  distributing the software (or *
0021 // * any work based  on the software)  you  agree  to acknowledge its *
0022 // * use  in  resulting  scientific  publications,  and indicate your *
0023 // * acceptance of all terms of the Geant4 Software license.          *
0024 // ********************************************************************
0025 //
0026 //
0027 // --------------------------------------------------------------
0028 //   GEANT 4 - Underground Dark Matter Detector Advanced Example
0029 //
0030 //      For information related to this code contact: Alex Howard
0031 //      e-mail: a.s.howard@ic.ac.uk
0032 // --------------------------------------------------------------
0033 // Comments
0034 //
0035 //                  Underground Advanced
0036 //               by A. Howard and H. Araujo 
0037 //                    (27th November 2001)
0038 //
0039 // G4SpecialCuts header
0040 // --------------------------------------------------------------
0041 
0042 #ifndef G4SpecialCuts_h
0043 #define G4SpecialCuts_h 1
0044 
0045 #include "G4ios.hh"
0046 #include "globals.hh"
0047 #include "G4VProcess.hh"
0048 
0049 
0050 class G4SpecialCuts : public G4VProcess 
0051 {
0052   public:     
0053 
0054      G4SpecialCuts(const G4String& processName ="SpecialCut" );
0055 
0056      virtual ~G4SpecialCuts();
0057 
0058      virtual G4double PostStepGetPhysicalInteractionLength(
0059                              const G4Track& track,
0060                  G4double   previousStepSize,
0061                  G4ForceCondition* condition
0062                 );
0063 
0064      virtual G4VParticleChange* PostStepDoIt(
0065                  const G4Track& ,
0066                  const G4Step& 
0067                 );
0068                 
0069      //  no operation in  AtRestGPIL
0070      virtual G4double AtRestGetPhysicalInteractionLength(
0071                              const G4Track& ,
0072                  G4ForceCondition* 
0073                 ){ return -1.0; };
0074                 
0075      //  no operation in  AtRestDoIt      
0076      virtual G4VParticleChange* AtRestDoIt(
0077                  const G4Track& ,
0078                  const G4Step&
0079                 ){return NULL;};
0080 
0081      //  no operation in  AlongStepGPIL
0082      virtual G4double AlongStepGetPhysicalInteractionLength(
0083                              const G4Track&,
0084                  G4double  ,
0085                  G4double  ,
0086                  G4double& ,
0087                              G4GPILSelection*
0088                 ){ return -1.0; };
0089 
0090      //  no operation in  AlongStepDoIt
0091      virtual G4VParticleChange* AlongStepDoIt(
0092                  const G4Track& ,
0093                  const G4Step& 
0094                 ) {return NULL;};
0095 
0096   private:
0097   
0098   // hide assignment operator as private 
0099      G4SpecialCuts& operator=(const G4SpecialCuts&){return *this;};
0100 
0101 };
0102 
0103 #endif
0104