Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4QGSMSplitableHadron Class Reference

#include <G4QGSMSplitableHadron.hh>

+ Inheritance diagram for G4QGSMSplitableHadron:

Public Member Functions

 G4QGSMSplitableHadron ()
 
 G4QGSMSplitableHadron (const G4ReactionProduct &aPrimary)
 
 G4QGSMSplitableHadron (const G4ReactionProduct &aPrimary, G4bool Direction)
 
 G4QGSMSplitableHadron (const G4Nucleon &aNucleon)
 
 G4QGSMSplitableHadron (const G4Nucleon &aNucleon, G4bool Direction)
 
virtual ~G4QGSMSplitableHadron ()
 
virtual void SplitUp ()
 
virtual void SetFirstParton (G4int PDGcode)
 
virtual void SetSecondParton (G4int PDGcode)
 
virtual G4PartonGetNextParton ()
 
virtual G4PartonGetNextAntiParton ()
 
- Public Member Functions inherited from G4VSplitableHadron
 G4VSplitableHadron ()
 
 G4VSplitableHadron (const G4ReactionProduct &aPrimary)
 
 G4VSplitableHadron (const G4Nucleon &aNucleon)
 
 G4VSplitableHadron (const G4VKineticNucleon *aNucleon)
 
virtual ~G4VSplitableHadron ()
 
G4bool operator== (const G4VSplitableHadron &right) const
 
G4bool operator!= (const G4VSplitableHadron &right) const
 
void Set4Momentum (const G4LorentzVector &a4Momentum)
 
const G4LorentzVectorGet4Momentum () const
 
void SetDefinition (const G4ParticleDefinition *aDefinition)
 
const G4ParticleDefinitionGetDefinition () const
 
void IncrementCollisionCount (G4int aCount)
 
void SetCollisionCount (G4int aCount)
 
void SetTimeOfCreation (G4double aTime)
 
G4double GetTimeOfCreation ()
 
void SetPosition (const G4ThreeVector &aPosition)
 
const G4ThreeVectorGetPosition () const
 
void SetStatus (const G4int aStatus)
 
G4int GetStatus ()
 
G4bool IsSplit ()
 
G4int GetSoftCollisionCount ()
 
void Splitting ()
 

Detailed Description

Definition at line 41 of file G4QGSMSplitableHadron.hh.

Constructor & Destructor Documentation

◆ G4QGSMSplitableHadron() [1/5]

G4QGSMSplitableHadron::G4QGSMSplitableHadron ( )

Definition at line 76 of file G4QGSMSplitableHadron.cc.

77{
78 InitParameters();
79}

◆ G4QGSMSplitableHadron() [2/5]

G4QGSMSplitableHadron::G4QGSMSplitableHadron ( const G4ReactionProduct & aPrimary)

Definition at line 89 of file G4QGSMSplitableHadron.cc.

90: G4VSplitableHadron(aPrimary)
91{
92 InitParameters();
93}

◆ G4QGSMSplitableHadron() [3/5]

G4QGSMSplitableHadron::G4QGSMSplitableHadron ( const G4ReactionProduct & aPrimary,
G4bool Direction )

Definition at line 81 of file G4QGSMSplitableHadron.cc.

82:G4VSplitableHadron(aPrimary)
83{
84 InitParameters();
85 Direction = aDirection;
86}

◆ G4QGSMSplitableHadron() [4/5]

G4QGSMSplitableHadron::G4QGSMSplitableHadron ( const G4Nucleon & aNucleon)

Definition at line 95 of file G4QGSMSplitableHadron.cc.

96: G4VSplitableHadron(aNucleon)
97{
98 InitParameters();
99}

◆ G4QGSMSplitableHadron() [5/5]

G4QGSMSplitableHadron::G4QGSMSplitableHadron ( const G4Nucleon & aNucleon,
G4bool Direction )

Definition at line 101 of file G4QGSMSplitableHadron.cc.

102: G4VSplitableHadron(aNucleon)
103{
104 InitParameters();
105 Direction = aDirection;
106}

◆ ~G4QGSMSplitableHadron()

G4QGSMSplitableHadron::~G4QGSMSplitableHadron ( )
virtual

Definition at line 108 of file G4QGSMSplitableHadron.cc.

108{}

Member Function Documentation

◆ GetNextAntiParton()

G4Parton * G4QGSMSplitableHadron::GetNextAntiParton ( )
inlinevirtual

Implements G4VSplitableHadron.

Definition at line 107 of file G4QGSMSplitableHadron.hh.

108{
109 if(AntiColor.size() == 0) return 0;
110
111 G4Parton * result = AntiColor.operator[](iAP);
112 iAP++; if(iAP == AntiColor.size()) iAP=0;
113 return result;
114}

Referenced by G4QGSParticipants::DeterminePartonMomenta().

◆ GetNextParton()

G4Parton * G4QGSMSplitableHadron::GetNextParton ( )
inlinevirtual

Implements G4VSplitableHadron.

Definition at line 98 of file G4QGSMSplitableHadron.hh.

99{
100 if(Color.size()==0) return 0;
101
102 G4Parton * result = Color.operator[](iP);
103 iP++; if(iP == Color.size()) iP=0;
104 return result;
105}

Referenced by G4QGSParticipants::DeterminePartonMomenta().

◆ SetFirstParton()

void G4QGSMSplitableHadron::SetFirstParton ( G4int PDGcode)
inlinevirtual

Implements G4VSplitableHadron.

Definition at line 116 of file G4QGSMSplitableHadron.hh.

117{}

◆ SetSecondParton()

void G4QGSMSplitableHadron::SetSecondParton ( G4int PDGcode)
inlinevirtual

Implements G4VSplitableHadron.

Definition at line 118 of file G4QGSMSplitableHadron.hh.

119{}

◆ SplitUp()

void G4QGSMSplitableHadron::SplitUp ( )
virtual

Implements G4VSplitableHadron.

Definition at line 113 of file G4QGSMSplitableHadron.cc.

114{
115 if (IsSplit()) return;
116 Splitting(); // To mark that a hadron is split
117 if (Color.size()!=0) return;
118 if (GetSoftCollisionCount() == 0) // GetSoftCollisionCount() from G4VSplitableHadron
119 {
120 DiffractiveSplitUp();
121 }
122 else
123 {
124 SoftSplitUp();
125 }
126}

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