#include <G4DiffractiveSplitableHadron.hh>
◆ G4DiffractiveSplitableHadron() [1/5]
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron |
( |
| ) |
|
◆ G4DiffractiveSplitableHadron() [2/5]
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron |
( |
const G4ReactionProduct & |
aPrimary | ) |
|
◆ G4DiffractiveSplitableHadron() [3/5]
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron |
( |
const G4Nucleon & |
aNucleon | ) |
|
◆ G4DiffractiveSplitableHadron() [4/5]
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron |
( |
const G4VKineticNucleon * |
aNucleon | ) |
|
◆ ~G4DiffractiveSplitableHadron()
G4DiffractiveSplitableHadron::~G4DiffractiveSplitableHadron |
( |
| ) |
|
◆ G4DiffractiveSplitableHadron() [5/5]
◆ ChooseStringEnds()
void G4DiffractiveSplitableHadron::ChooseStringEnds |
( |
G4int |
PDGcode, |
|
|
G4int * |
aEnd, |
|
|
G4int * |
bEnd |
|
) |
| const |
|
private |
Definition at line 162 of file G4DiffractiveSplitableHadron.cc.
164 G4int absPDGcode = std::abs( PDGcode );
166 if ( absPDGcode < 1000 ) {
167 G4int heavy(0), light(0);
168 if(!((absPDGcode == 111)||(absPDGcode == 221)||(absPDGcode == 331)))
170 heavy = absPDGcode/100;
171 light = (absPDGcode % 100)/10;
174 if (PDGcode < 0 ) anti *= -1;
181 else {heavy = 2; light = -2;}
191 G4int j1000 = PDGcode/1000;
192 G4int j100 = (PDGcode % 1000)/100;
193 G4int j10 = (PDGcode % 100)/10;
196 if((j1000 == j100) && (j1000 == j10)) SuppresUUDDSS=1.;
199 const G4int maxNumberOfLoops = 1000;
200 G4int loopCounter = 0;
207 if(( j100 == j10 ) && (
G4UniformRand() > SuppresUUDDSS ))
continue;
209 if( j100 == j10 ) {*bEnd =
Diquark( j100, j10, 1 );}
212 else {*bEnd =
Diquark( j100, j10, 1 );}
215 else if(random < 0.66667)
217 if(( j1000 == j10 ) && (
G4UniformRand() > SuppresUUDDSS ))
continue;
219 if( j1000 == j10 ) {*bEnd =
Diquark( j1000, j10, 1 );}
222 else {*bEnd =
Diquark( j1000, j10, 1 );}
227 if(( j1000 == j100 ) && (
G4UniformRand() > SuppresUUDDSS ))
continue;
229 if( j1000 == j100 ) {*bEnd =
Diquark( j1000, j100, 1 );}
232 else {*bEnd =
Diquark( j1000, j100, 1 );}
236 ++loopCounter < maxNumberOfLoops );
237 if ( loopCounter >= maxNumberOfLoops ) {
238 *aEnd = j10; *bEnd =
Diquark( j1000, j100, 1 );
G4int Diquark(G4int aquark, G4int bquark, G4int Spin) const
◆ Diquark()
Definition at line 276 of file G4DiffractiveSplitableHadron.cc.
277 G4int diquarkPDG =
std::max( std::abs( aquark ), std::abs( bquark ) ) * 1000 +
278 std::min( std::abs( aquark ), std::abs( bquark ) ) * 100 +
280 return ( aquark > 0 && bquark > 0 ) ? diquarkPDG : -1*diquarkPDG;
◆ GetNextAntiParton()
G4Parton * G4DiffractiveSplitableHadron::GetNextAntiParton |
( |
| ) |
|
|
virtual |
◆ GetNextParton()
G4Parton * G4DiffractiveSplitableHadron::GetNextParton |
( |
| ) |
|
|
virtual |
◆ operator!=()
◆ operator=()
◆ operator==()
◆ SetFirstParton()
void G4DiffractiveSplitableHadron::SetFirstParton |
( |
G4int |
PDGcode | ) |
|
|
virtual |
◆ SetSecondParton()
void G4DiffractiveSplitableHadron::SetSecondParton |
( |
G4int |
PDGcode | ) |
|
|
virtual |
◆ SplitUp()
void G4DiffractiveSplitableHadron::SplitUp |
( |
| ) |
|
|
virtual |
Implements G4VSplitableHadron.
Definition at line 94 of file G4DiffractiveSplitableHadron.cc.
99 if (
Parton[0] != NULL )
return;
103 G4int stringStart, stringEnd;
G4int GetPDGEncoding() const
void ChooseStringEnds(G4int PDGcode, G4int *aEnd, G4int *bEnd) const
const G4ParticleDefinition * GetDefinition() const
◆ Parton
G4Parton* G4DiffractiveSplitableHadron::Parton[2] |
|
private |
◆ PartonIndex
G4int G4DiffractiveSplitableHadron::PartonIndex |
|
private |
The documentation for this class was generated from the following files: