Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions
G4VAnnihilationCollision Class Referenceabstract

#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
G4VAngularDistribution
GetAngularDistribution () const
 
- Public Member Functions inherited from G4VCollision
 G4VCollision ()
 
void establish_G4MT_TLS_G4VCollision ()
 
 G4VCollision (void *s1, void *s2, void *s3, void *s4, void *s5, void *s6, void *s7)
 
virtual ~G4VCollision ()
 
G4bool operator== (const G4VCollision &right) const
 
G4bool operator!= (const G4VCollision &right) const
 
virtual G4double CrossSection (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
virtual G4bool IsInCharge (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0
 
virtual G4String GetName () const =0
 
virtual void Print () const
 
virtual void Print (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 

Protected Member Functions

virtual const
G4ParticleDefinition
GetOutgoingParticle (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0
 
- Protected Member Functions inherited from G4VCollision
G4int GetNumberOfPartons (G4ParticleDefinition *aP) const
 
virtual const G4CollisionVectorGetComponents () const
 
virtual const
G4VCrossSectionSource
GetCrossSectionSource () const =0
 
virtual const std::vector
< G4String > & 
GetListOfColliders (G4int whichOne) 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.

44 {
45  theAngularDistribution=0;
46 }
G4VAnnihilationCollision::~G4VAnnihilationCollision ( )
virtual

Definition at line 49 of file G4VAnnihilationCollision.cc.

50 {
51  if (theAngularDistribution) {
52  delete theAngularDistribution;
53  theAngularDistribution=0;
54  }
55 }

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 CLHEP::HepLorentzVector::boostVector(), G4KineticTrack::Get4Momentum(), GetOutgoingParticle(), G4KineticTrack::GetPosition(), and CLHEP::HepLorentzVector::m().

60 {
61  G4LorentzVector p = trk1.Get4Momentum() + trk2.Get4Momentum();
62  G4double sqrtS = p.m();
63 // G4double s = sqrtS * sqrtS;
64 
65 // G4double m1 = trk1.GetActualMass();
66 // G4double m2 = trk2.GetActualMass();
67 
68  G4ParticleDefinition* OutputDefinition = const_cast<G4ParticleDefinition *>( GetOutgoingParticle(trk1,trk2) );
69 
70  // Unit vector of three-momentum
71 
72  G4ThreeVector pFinal(0.0, 0.0, 0.0);
73  G4double eFinal = sqrtS;
74 
75  G4LorentzVector p4Final(pFinal, eFinal);
76 
77  // Lorentz transformation
78  G4LorentzRotation toLabFrame(p.boostVector());
79  p4Final *= toLabFrame;
80 
81  G4KineticTrack* final = new G4KineticTrack(OutputDefinition, 0.0,
82  trk1.GetPosition(), p4Final);
83 
84  G4KineticTrackVector* finalTracks = new G4KineticTrackVector;
85 
86  finalTracks->push_back(final);
87 
88  return finalTracks;
89 }
Hep3Vector boostVector() const
virtual const G4ParticleDefinition * GetOutgoingParticle(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0
const G4ThreeVector & GetPosition() const
const char * p
Definition: xmltok.h:285
double G4double
Definition: G4Types.hh:76
const G4LorentzVector & Get4Momentum() const
virtual const G4VAngularDistribution* G4VAnnihilationCollision::GetAngularDistribution ( ) const
inlinevirtual

Implements G4VCollision.

Definition at line 69 of file G4VAnnihilationCollision.hh.

70  {
71  return theAngularDistribution;
72  }
virtual const G4ParticleDefinition* G4VAnnihilationCollision::GetOutgoingParticle ( const G4KineticTrack trk1,
const G4KineticTrack trk2 
) const
protectedpure 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: