Geant4  10.02.p03
G4ConcreteMesonBaryonToResonance Class Reference

#include <G4ConcreteMesonBaryonToResonance.hh>

Inheritance diagram for G4ConcreteMesonBaryonToResonance:
Collaboration diagram for G4ConcreteMesonBaryonToResonance:

Public Member Functions

 G4ConcreteMesonBaryonToResonance (const G4ParticleDefinition *aPrimary, const G4ParticleDefinition *bPriamry, const G4ParticleDefinition *aSecondary, const G4String &partWidthLabel)
 
virtual ~G4ConcreteMesonBaryonToResonance ()
 
virtual G4bool IsInCharge (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
virtual const std::vector< G4String > & GetListOfColliders (G4int) const
 
virtual G4String GetName () const
 
G4bool operator== (const G4ConcreteMesonBaryonToResonance &right) const
 
G4bool operator!= (const G4ConcreteMesonBaryonToResonance &right) const
 
- Public Member Functions inherited from G4VAnnihilationCollision
 G4VAnnihilationCollision ()
 
virtual ~G4VAnnihilationCollision ()
 
G4bool operator== (const G4VAnnihilationCollision &right) const
 
G4bool operator!= (const G4VAnnihilationCollision &right) const
 
virtual G4KineticTrackVector * FinalState (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 void Print () const
 
virtual void Print (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 

Protected Member Functions

virtual const G4VCrossSectionSource * GetCrossSectionSource () const
 
virtual const G4ParticleDefinition * GetOutgoingParticle (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
- Protected Member Functions inherited from G4VCollision
G4int GetNumberOfPartons (const G4ParticleDefinition *aP) const
 
virtual const G4CollisionVector * GetComponents () const
 

Private Member Functions

 G4ConcreteMesonBaryonToResonance (const G4ConcreteMesonBaryonToResonance &)
 
G4ConcreteMesonBaryonToResonance & operator= (const G4ConcreteMesonBaryonToResonance &)
 

Static Private Member Functions

static G4BaryonWidth & theBaryonWidth ()
 
static G4BaryonPartialWidth & theBaryonPartialWidth ()
 
static G4ParticleTypeConverter & myConv ()
 

Private Attributes

G4VCrossSectionSource * crossSectionSource
 
const G4ParticleDefinition * thePrimary1
 
const G4ParticleDefinition * thePrimary2
 
const G4ParticleDefinition * theSecondary
 

Detailed Description

Definition at line 45 of file G4ConcreteMesonBaryonToResonance.hh.

Constructor & Destructor Documentation

◆ G4ConcreteMesonBaryonToResonance() [1/2]

G4ConcreteMesonBaryonToResonance::G4ConcreteMesonBaryonToResonance ( const G4ParticleDefinition *  aPrimary,
const G4ParticleDefinition *  bPriamry,
const G4ParticleDefinition *  aSecondary,
const G4String &  partWidthLabel 
)

Definition at line 49 of file G4ConcreteMesonBaryonToResonance.cc.

53  : thePrimary1(aPrimary), thePrimary2(bPrimary), theSecondary(aSecondary)
54 {
58  partWidthLabel);
59 }
static G4BaryonPartialWidth & theBaryonPartialWidth()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~G4ConcreteMesonBaryonToResonance()

G4ConcreteMesonBaryonToResonance::~G4ConcreteMesonBaryonToResonance ( )
virtual

Definition at line 62 of file G4ConcreteMesonBaryonToResonance.cc.

63 {
64  delete crossSectionSource;
65 }

◆ G4ConcreteMesonBaryonToResonance() [2/2]

G4ConcreteMesonBaryonToResonance::G4ConcreteMesonBaryonToResonance ( const G4ConcreteMesonBaryonToResonance &  )
private

Member Function Documentation

◆ GetCrossSectionSource()

virtual const G4VCrossSectionSource* G4ConcreteMesonBaryonToResonance::GetCrossSectionSource ( ) const
inlineprotectedvirtual

Implements G4VCollision.

Definition at line 81 of file G4ConcreteMesonBaryonToResonance.hh.

82  { return crossSectionSource; }
Here is the call graph for this function:

◆ GetListOfColliders()

virtual const std::vector<G4String>& G4ConcreteMesonBaryonToResonance::GetListOfColliders ( G4int  ) const
inlinevirtual

Implements G4VCollision.

Definition at line 60 of file G4ConcreteMesonBaryonToResonance.hh.

61  {
62  throw G4HadronicException(__FILE__, __LINE__, "Tried to call G4ConcreteMesonBaryonToResonance::GetListOfColliders. Please find out why!");
63  std::vector<G4String> * aList = new std::vector<G4String>;
64  return *aList;
65  }

◆ GetName()

virtual G4String G4ConcreteMesonBaryonToResonance::GetName ( void  ) const
inlinevirtual

Implements G4VCollision.

Definition at line 67 of file G4ConcreteMesonBaryonToResonance.hh.

68  {
69  return "ConcreteMesonBaryonToResonance";
70  }
Here is the call graph for this function:

◆ GetOutgoingParticle()

const G4ParticleDefinition * G4ConcreteMesonBaryonToResonance::GetOutgoingParticle ( const G4KineticTrack &  trk1,
const G4KineticTrack &  trk2 
) const
protectedvirtual

Implements G4VAnnihilationCollision.

Definition at line 78 of file G4ConcreteMesonBaryonToResonance.cc.

80 {
81  G4int secondaryIso3 = trk1.GetDefinition()->GetPDGiIsospin3() + trk2.GetDefinition()->GetPDGiIsospin3();
82  const G4ParticleDefinition* state;
83  if ( (state = myConv().FindIso3State(myConv().GetGenericType(theSecondary), secondaryIso3)) == NULL)
84  {
85  G4cerr << "for "<<static_cast<G4int>(myConv().GetGenericType(theSecondary))<<" "<<secondaryIso3<<G4endl;
86  throw G4HadronicException(__FILE__, __LINE__, "G4ConcreteMesonBaryonToResonance: Can't find iso3 state!");
87  }
88  return state;
89 }
const G4ParticleDefinition * GetDefinition() const
GenericType GetGenericType(const G4ParticleDefinition *const aParticleDef)
int G4int
Definition: G4Types.hh:78
static G4ParticleTypeConverter & myConv()
#define G4endl
Definition: G4ios.hh:61
G4GLOB_DLL std::ostream G4cerr
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsInCharge()

G4bool G4ConcreteMesonBaryonToResonance::IsInCharge ( const G4KineticTrack &  trk1,
const G4KineticTrack &  trk2 
) const
virtual

Implements G4VCollision.

Definition at line 68 of file G4ConcreteMesonBaryonToResonance.cc.

70 {
71  if (myConv().GetGenericType(trk1)==myConv().GetGenericType(thePrimary1) &&
72  myConv().GetGenericType(trk2)==myConv().GetGenericType(thePrimary2)) return true;
73  if (myConv().GetGenericType(trk1)==myConv().GetGenericType(thePrimary2) &&
74  myConv().GetGenericType(trk2)==myConv().GetGenericType(thePrimary1)) return true;
75  return false;
76 }
static G4ParticleTypeConverter & myConv()
Here is the call graph for this function:

◆ myConv()

G4ParticleTypeConverter & G4ConcreteMesonBaryonToResonance::myConv ( )
staticprivate

Definition at line 43 of file G4ConcreteMesonBaryonToResonance.cc.

44 {
45  static G4ThreadLocal G4ParticleTypeConverter *theConv_G4MT_TLS_ = 0 ; if (!theConv_G4MT_TLS_) theConv_G4MT_TLS_ = new G4ParticleTypeConverter ; G4ParticleTypeConverter &theConv = *theConv_G4MT_TLS_;
46  return theConv;
47 }
#define G4ThreadLocal
Definition: tls.hh:89
Here is the caller graph for this function:

◆ operator!=()

G4bool G4ConcreteMesonBaryonToResonance::operator!= ( const G4ConcreteMesonBaryonToResonance &  right) const
Here is the caller graph for this function:

◆ operator=()

G4ConcreteMesonBaryonToResonance& G4ConcreteMesonBaryonToResonance::operator= ( const G4ConcreteMesonBaryonToResonance &  )
private
Here is the caller graph for this function:

◆ operator==()

G4bool G4ConcreteMesonBaryonToResonance::operator== ( const G4ConcreteMesonBaryonToResonance &  right) const
Here is the caller graph for this function:

◆ theBaryonPartialWidth()

G4BaryonPartialWidth & G4ConcreteMesonBaryonToResonance::theBaryonPartialWidth ( )
staticprivate

Definition at line 37 of file G4ConcreteMesonBaryonToResonance.cc.

38 {
39  static G4ThreadLocal G4BaryonPartialWidth *theWidth_G4MT_TLS_ = 0 ; if (!theWidth_G4MT_TLS_) theWidth_G4MT_TLS_ = new G4BaryonPartialWidth ; G4BaryonPartialWidth &theWidth = *theWidth_G4MT_TLS_;
40  return theWidth;
41 }
#define G4ThreadLocal
Definition: tls.hh:89
Here is the caller graph for this function:

◆ theBaryonWidth()

G4BaryonWidth & G4ConcreteMesonBaryonToResonance::theBaryonWidth ( )
staticprivate

Definition at line 31 of file G4ConcreteMesonBaryonToResonance.cc.

32 {
33  static G4ThreadLocal G4BaryonWidth *theWidth_G4MT_TLS_ = 0 ; if (!theWidth_G4MT_TLS_) theWidth_G4MT_TLS_ = new G4BaryonWidth ; G4BaryonWidth &theWidth = *theWidth_G4MT_TLS_;
34  return theWidth;
35 }
#define G4ThreadLocal
Definition: tls.hh:89
Here is the caller graph for this function:

Member Data Documentation

◆ crossSectionSource

G4VCrossSectionSource* G4ConcreteMesonBaryonToResonance::crossSectionSource
private

Definition at line 89 of file G4ConcreteMesonBaryonToResonance.hh.

◆ thePrimary1

const G4ParticleDefinition* G4ConcreteMesonBaryonToResonance::thePrimary1
private

Definition at line 90 of file G4ConcreteMesonBaryonToResonance.hh.

◆ thePrimary2

const G4ParticleDefinition* G4ConcreteMesonBaryonToResonance::thePrimary2
private

Definition at line 91 of file G4ConcreteMesonBaryonToResonance.hh.

◆ theSecondary

const G4ParticleDefinition* G4ConcreteMesonBaryonToResonance::theSecondary
private

Definition at line 92 of file G4ConcreteMesonBaryonToResonance.hh.


The documentation for this class was generated from the following files: