G4PionMinusNuclearAtRestChips Class Reference

#include <G4PionMinusNuclearAtRestChips.hh>

Inheritance diagram for G4PionMinusNuclearAtRestChips:

G4VRestProcess G4VProcess

Public Member Functions

 G4PionMinusNuclearAtRestChips (const G4String &processName="PionMinusCaptureAtRest")
 ~G4PionMinusNuclearAtRestChips ()
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 42 of file G4PionMinusNuclearAtRestChips.hh.


Constructor & Destructor Documentation

G4PionMinusNuclearAtRestChips::G4PionMinusNuclearAtRestChips ( const G4String processName = "PionMinusCaptureAtRest"  )  [inline]

Definition at line 51 of file G4PionMinusNuclearAtRestChips.hh.

References fHadronAtRest, G4HadronicDeprecate, and G4VProcess::SetProcessSubType().

00052       : G4VRestProcess (processName, fHadronic) 
00053      {
00054        G4HadronicDeprecate("G4PionMinusNuclearAtRestChips");
00055        SetProcessSubType(fHadronAtRest);
00056      }

G4PionMinusNuclearAtRestChips::~G4PionMinusNuclearAtRestChips (  )  [inline]

Definition at line 58 of file G4PionMinusNuclearAtRestChips.hh.

00058 {}


Member Function Documentation

G4VParticleChange * G4PionMinusNuclearAtRestChips::AtRestDoIt ( const G4Track ,
const G4Step  
) [inline, virtual]

Reimplemented from G4VRestProcess.

Definition at line 84 of file G4PionMinusNuclearAtRestChips.hh.

References G4ChiralInvariantPhaseSpace::ApplyYourself(), G4DynamicParticle::GetDefinition(), G4Track::GetDynamicParticle(), G4StopElementSelector::GetElement(), G4Track::GetMaterial(), and G4PionMinus::PionMinus().

00085 {
00086   if(aTrack.GetDynamicParticle()->GetDefinition() != G4PionMinus::PionMinus())
00087   {
00088     throw G4HadronicException(__FILE__, __LINE__,
00089                   "Calling G4PionMinusNuclearAtRestChips with particle other than pi-!!!");
00090   }
00091   
00092   // Create target
00093   G4Element* theTarget = theSelector.GetElement(aTrack.GetMaterial());
00094   G4Nucleus aTargetNucleus(theTarget->GetA_asInt(), theTarget->GetZ_asInt());
00095   
00096   // Call chips
00097   return theModel.ApplyYourself(aTrack, aTargetNucleus);
00098 }

G4double G4PionMinusNuclearAtRestChips::AtRestGetPhysicalInteractionLength ( const G4Track track,
G4ForceCondition condition 
) [virtual]

Reimplemented from G4VRestProcess.

Definition at line 101 of file G4PionMinusNuclearAtRestChips.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.

00102 {
00103   ResetNumberOfInteractionLengthLeft();
00104   *condition = NotForced;
00105   currentInteractionLength = GetMeanLifeTime(track, condition);
00106 #ifdef CHIPSdebug
00107   if ((currentInteractionLength <0.0) || (verboseLevel>2))
00108   {
00109     G4cout << "G4PionMinusNuclearAtRestChips::AtRestGetPhysicalInteractionLength ";
00110     G4cout << "[ " << GetProcessName() << "]" <<G4endl;
00111     track.GetDynamicParticle()->DumpInfo();
00112     G4cout << " in Material  " << track.GetMaterial()->GetName() <<G4endl;
00113     G4cout << "MeanLifeTime = " << currentInteractionLength/CLHEP::ns << "[ns]" <<G4endl;
00114   }
00115 #endif
00116   return theNumberOfInteractionLengthLeft * currentInteractionLength;
00117 }

void G4PionMinusNuclearAtRestChips::BuildPhysicsTable ( const G4ParticleDefinition  )  [inline, virtual]

Reimplemented from G4VProcess.

Definition at line 66 of file G4PionMinusNuclearAtRestChips.hh.

00066 {}

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

Implements G4VRestProcess.

Definition at line 72 of file G4PionMinusNuclearAtRestChips.hh.

Referenced by AtRestGetPhysicalInteractionLength().

00073                                       {return 0.0;}

G4bool G4PionMinusNuclearAtRestChips::IsApplicable ( const G4ParticleDefinition aParticle  )  [inline, virtual]

Reimplemented from G4VProcess.

Definition at line 60 of file G4PionMinusNuclearAtRestChips.hh.

References G4PionMinus::PionMinusDefinition().

00061      {
00062        return ( &aParticle == G4PionMinus::PionMinusDefinition() );
00063      }


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