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 G4KineticTrackVectorFinalState (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
virtual const G4VAngularDistributionGetAngularDistribution () 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 G4VCrossSectionSourceGetCrossSectionSource () const
 
virtual const G4ParticleDefinitionGetOutgoingParticle (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
- Protected Member Functions inherited from G4VCollision
G4int GetNumberOfPartons (const G4ParticleDefinition *aP) const
 
virtual const G4CollisionVectorGetComponents () const
 

Private Member Functions

 G4ConcreteMesonBaryonToResonance (const G4ConcreteMesonBaryonToResonance &)
 
G4ConcreteMesonBaryonToResonanceoperator= (const G4ConcreteMesonBaryonToResonance &)
 

Static Private Member Functions

static G4BaryonWidththeBaryonWidth ()
 
static G4BaryonPartialWidththeBaryonPartialWidth ()
 
static G4ParticleTypeConvertermyConv ()
 

Private Attributes

G4VCrossSectionSourcecrossSectionSource
 
const G4ParticleDefinitionthePrimary1
 
const G4ParticleDefinitionthePrimary2
 
const G4ParticleDefinitiontheSecondary
 

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: