G4ProtonAntiProtonAtRestChips Class Reference

#include <G4ProtonAntiProtonAtRestChips.hh>

Inheritance diagram for G4ProtonAntiProtonAtRestChips:

G4VRestProcess G4VProcess

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)
G4VParticleChangeAtRestDoIt (const G4Track &, const G4Step &)

Detailed Description

Definition at line 49 of file G4ProtonAntiProtonAtRestChips.hh.


Constructor & Destructor Documentation

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]

Definition at line 66 of file G4ProtonAntiProtonAtRestChips.hh.

00066 {}


Member Function Documentation

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]

Reimplemented from G4VProcess.

Definition at line 74 of file G4ProtonAntiProtonAtRestChips.hh.

00074 {}

G4double G4ProtonAntiProtonAtRestChips::GetMeanLifeTime ( const G4Track aTrack,
G4ForceCondition condition 
) [inline, virtual]

Implements G4VRestProcess.

Definition at line 80 of file G4ProtonAntiProtonAtRestChips.hh.

Referenced by AtRestGetPhysicalInteractionLength().

00081                                       {return 0.0;}

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      }


The documentation for this class was generated from the following file:
Generated on Mon May 27 17:53:00 2013 for Geant4 by  doxygen 1.4.7