G4VAnnihilationCollision Class Reference

#include <G4VAnnihilationCollision.hh>

Inheritance diagram for G4VAnnihilationCollision:

G4VCollision G4ConcreteMesonBaryonToResonance

Public Member Functions

 G4VAnnihilationCollision ()
virtual ~G4VAnnihilationCollision ()
G4bool operator== (const G4VAnnihilationCollision &right) const
G4bool operator!= (const G4VAnnihilationCollision &right) const
virtual G4KineticTrackVectorFinalState (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
virtual const G4VAngularDistributionGetAngularDistribution () const

Protected Member Functions

virtual const G4ParticleDefinitionGetOutgoingParticle (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0

Detailed Description

Definition at line 55 of file G4VAnnihilationCollision.hh.


Constructor & Destructor Documentation

G4VAnnihilationCollision::G4VAnnihilationCollision (  ) 

Definition at line 43 of file G4VAnnihilationCollision.cc.

00044 { 
00045         theAngularDistribution=0;
00046 }

G4VAnnihilationCollision::~G4VAnnihilationCollision (  )  [virtual]

Definition at line 49 of file G4VAnnihilationCollision.cc.

00050 {
00051         if (theAngularDistribution) {
00052                 delete theAngularDistribution;
00053                 theAngularDistribution=0;
00054         }
00055 }


Member Function Documentation

G4KineticTrackVector * G4VAnnihilationCollision::FinalState ( const G4KineticTrack trk1,
const G4KineticTrack trk2 
) const [virtual]

Implements G4VCollision.

Definition at line 58 of file G4VAnnihilationCollision.cc.

References G4KineticTrack::Get4Momentum(), GetOutgoingParticle(), and G4KineticTrack::GetPosition().

00060 { 
00061   G4LorentzVector p = trk1.Get4Momentum() + trk2.Get4Momentum();
00062   G4double sqrtS = p.m();
00063 //  G4double s = sqrtS * sqrtS;
00064 
00065 //  G4double m1 = trk1.GetActualMass();
00066 //  G4double m2 = trk2.GetActualMass();
00067 
00068   G4ParticleDefinition* OutputDefinition = const_cast<G4ParticleDefinition *>( GetOutgoingParticle(trk1,trk2) );
00069 
00070   // Unit vector of three-momentum
00071 
00072   G4ThreeVector pFinal(0.0, 0.0, 0.0);
00073   G4double eFinal = sqrtS;
00074  
00075   G4LorentzVector p4Final(pFinal, eFinal); 
00076 
00077   // Lorentz transformation
00078   G4LorentzRotation toLabFrame(p.boostVector());
00079   p4Final *= toLabFrame;
00080   
00081   G4KineticTrack* final = new G4KineticTrack(OutputDefinition, 0.0, 
00082                                              trk1.GetPosition(), p4Final);
00083   
00084   G4KineticTrackVector* finalTracks = new G4KineticTrackVector;
00085 
00086   finalTracks->push_back(final);
00087 
00088   return finalTracks;
00089 }

virtual const G4VAngularDistribution* G4VAnnihilationCollision::GetAngularDistribution (  )  const [inline, virtual]

Implements G4VCollision.

Definition at line 69 of file G4VAnnihilationCollision.hh.

00070   {
00071     return theAngularDistribution;
00072   }

virtual const G4ParticleDefinition* G4VAnnihilationCollision::GetOutgoingParticle ( const G4KineticTrack trk1,
const G4KineticTrack trk2 
) const [protected, pure virtual]

Implemented in G4ConcreteMesonBaryonToResonance.

Referenced by FinalState().

G4bool G4VAnnihilationCollision::operator!= ( const G4VAnnihilationCollision right  )  const

G4bool G4VAnnihilationCollision::operator== ( const G4VAnnihilationCollision right  )  const


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