#include <G4ProtonAntiProtonAtRestChips.hh>
Inheritance diagram for G4ProtonAntiProtonAtRestChips:
Public Member Functions | |
G4ProtonAntiProtonAtRestChips (const G4String &processName="AntiProtonAnnihilationAtRest") | |
~G4ProtonAntiProtonAtRestChips () | |
G4bool | IsApplicable (const G4ParticleDefinition &aParticle) |
void | BuildPhysicsTable (const G4ParticleDefinition &) |
G4double | AtRestGetPhysicalInteractionLength (const G4Track &track, G4ForceCondition *condition) |
G4double | GetMeanLifeTime (const G4Track &aTrack, G4ForceCondition *condition) |
G4VParticleChange * | AtRestDoIt (const G4Track &, const G4Step &) |
Definition at line 49 of file G4ProtonAntiProtonAtRestChips.hh.
G4ProtonAntiProtonAtRestChips::G4ProtonAntiProtonAtRestChips | ( | const G4String & | processName = "AntiProtonAnnihilationAtRest" |
) | [inline] |
Definition at line 58 of file G4ProtonAntiProtonAtRestChips.hh.
References fHadronAtRest, G4HadronicDeprecate, and G4VProcess::SetProcessSubType().
00060 : G4VRestProcess (processName, fHadronic) 00061 { 00062 G4HadronicDeprecate("G4ProtonAntiProtonAtRestChips"); 00063 SetProcessSubType(fHadronAtRest); 00064 }
G4ProtonAntiProtonAtRestChips::~G4ProtonAntiProtonAtRestChips | ( | ) | [inline] |
G4VParticleChange * G4ProtonAntiProtonAtRestChips::AtRestDoIt | ( | const G4Track & | , | |
const G4Step & | ||||
) | [inline, virtual] |
Reimplemented from G4VRestProcess.
Definition at line 92 of file G4ProtonAntiProtonAtRestChips.hh.
References G4AntiProton::AntiProton(), G4ChiralInvariantPhaseSpace::ApplyYourself(), G4DynamicParticle::GetDefinition(), G4Track::GetDynamicParticle(), G4StopElementSelector::GetElement(), and G4Track::GetMaterial().
00093 { 00094 // Create target 00095 G4Element * theTarget = theSelector.GetElement(aTrack.GetMaterial()); 00096 G4Nucleus aTargetNucleus(theTarget->GetA_asInt(), theTarget->GetZ_asInt()); 00097 00098 // Check model validity - note this will be a sub-branch in the ordinary stopping @@@@@@ 00099 // in the long haul. @@@@@@ 00100 if(aTrack.GetDynamicParticle()->GetDefinition() != G4AntiProton::AntiProton()) 00101 { 00102 throw G4HadronicException(__FILE__, __LINE__, 00103 "Calling G4ProtonAntiProtonAtRestChips with particle other than p-bar!!!"); 00104 } 00105 if(aTargetNucleus.GetZ_asInt() != 1) 00106 { 00107 throw G4HadronicException(__FILE__, __LINE__, 00108 "Calling G4ProtonAntiProtonAtRestChips for target other than Hydrogen!!!"); 00109 } 00110 00111 // Call chips 00112 return theModel.ApplyYourself(aTrack, aTargetNucleus); 00113 }
G4double G4ProtonAntiProtonAtRestChips::AtRestGetPhysicalInteractionLength | ( | const G4Track & | track, | |
G4ForceCondition * | condition | |||
) | [virtual] |
Reimplemented from G4VRestProcess.
Definition at line 116 of file G4ProtonAntiProtonAtRestChips.hh.
References G4VProcess::currentInteractionLength, G4DynamicParticle::DumpInfo(), G4cout, G4endl, G4Track::GetDynamicParticle(), G4Track::GetMaterial(), GetMeanLifeTime(), G4Material::GetName(), G4VProcess::GetProcessName(), NotForced, ns, G4VProcess::ResetNumberOfInteractionLengthLeft(), G4VProcess::theNumberOfInteractionLengthLeft, and G4VProcess::verboseLevel.
00118 { 00119 ResetNumberOfInteractionLengthLeft(); 00120 *condition = NotForced; 00121 currentInteractionLength = GetMeanLifeTime(track, condition); 00122 #ifdef CHIPSdebug 00123 if ((currentInteractionLength <0.0) || (verboseLevel>2)) 00124 { 00125 G4cout << "G4ProtonAntiProtonAtRestChips::AtRestGetPhysicalInteractionLength "; 00126 G4cout << "[ " << GetProcessName() << "]" <<G4endl; 00127 track.GetDynamicParticle()->DumpInfo(); 00128 G4cout << " in Material " << track.GetMaterial()->GetName() <<G4endl; 00129 G4cout << "MeanLifeTime = " << currentInteractionLength/CLHEP::ns << "[ns]" <<G4endl; 00130 } 00131 #endif 00132 return theNumberOfInteractionLengthLeft * currentInteractionLength; 00133 }
void G4ProtonAntiProtonAtRestChips::BuildPhysicsTable | ( | const G4ParticleDefinition & | ) | [inline, virtual] |
G4double G4ProtonAntiProtonAtRestChips::GetMeanLifeTime | ( | const G4Track & | aTrack, | |
G4ForceCondition * | condition | |||
) | [inline, virtual] |
Implements G4VRestProcess.
Definition at line 80 of file G4ProtonAntiProtonAtRestChips.hh.
Referenced by AtRestGetPhysicalInteractionLength().
G4bool G4ProtonAntiProtonAtRestChips::IsApplicable | ( | const G4ParticleDefinition & | aParticle | ) | [inline, virtual] |
Reimplemented from G4VProcess.
Definition at line 68 of file G4ProtonAntiProtonAtRestChips.hh.
References G4AntiProton::AntiProtonDefinition().
00069 { 00070 return ( &aParticle == G4AntiProton::AntiProtonDefinition() ); 00071 }