00001 //---------------------------------------------------------------------------// 00002 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00003 // // 00004 // MAJORANA Simulation // 00005 // // 00006 // This code implementation is the intellectual property of the // 00007 // MAJORANA Collaboration. It is based on Geant4, an intellectual // 00008 // property of the RD44 GEANT4 collaboration. // 00009 // // 00010 // ********************* // 00011 // // 00012 // Neither the authors of this software system, nor their employing // 00013 // institutes, nor the agencies providing financial support for this // 00014 // work make any representation or warranty, express or implied, // 00015 // regarding this software system or assume any liability for its use. // 00016 // By copying, distributing or modifying the Program (or any work based // 00017 // on on the Program) you indicate your acceptance of this statement, // 00018 // and all its terms. // 00019 // // 00020 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00021 //---------------------------------------------------------------------------// 00022 // 00023 // $Id: MJProcessesSpecialCuts.cc,v 1.2 2004/11/09 13:42:39 xliu Exp $ 00024 // 00025 // CLASS IMPLEMENTATION: MJProcessesSpecialCuts.cc 00026 // 00027 //---------------------------------------------------------------------------// 00033 // 00034 //---------------------------------------------------------------------------// 00045 //---------------------------------------------------------------------------// 00046 // 00047 00048 // GEANT4 HEADERS 00049 #include "G4VParticleChange.hh" 00050 #include "G4Track.hh" 00051 #include "G4Step.hh" 00052 00053 //---------------------------------------------------------------------------// 00054 00055 // MJ headers 00056 #include "processes/MJProcessesSpecialCuts.hh" //Present MJ Class Headers 00057 00058 //---------------------------------------------------------------------------// 00059 00060 MJProcessesSpecialCuts::MJProcessesSpecialCuts( const G4String& aName ) : G4VProcess(aName) { 00061 if (verboseLevel>1) { 00062 G4cout << GetProcessName() << " is created "<< G4endl; 00063 } 00064 } 00065 00066 //MJProcessesSpecialCuts::MJProcessesSpecialCuts(const MJProcessesSpecialCuts & other) {} 00067 00068 MJProcessesSpecialCuts::~MJProcessesSpecialCuts() {} 00069 00070 G4VParticleChange* MJProcessesSpecialCuts::PostStepDoIt( const G4Track& aTrack, const G4Step& ) { 00071 // 00072 // Stop the current particle, if requested by G4UserLimits 00073 // 00074 aParticleChange.Initialize(aTrack); 00075 aParticleChange.SetEnergyChange(0.) ; 00076 aParticleChange.SetLocalEnergyDeposit (aTrack.GetKineticEnergy()) ; 00077 aParticleChange.SetStatusChange(fStopButAlive); 00078 return &aParticleChange; 00079 } 00080 00081 G4double MJProcessesSpecialCuts::PostStepGetPhysicalInteractionLength( const G4Track&, G4double, G4ForceCondition* ) { 00082 return DBL_MAX; 00083 }