#include <G4DiffractiveSplitableHadron.hh>
Inheritance diagram for G4DiffractiveSplitableHadron:
Public Member Functions | |
G4DiffractiveSplitableHadron () | |
G4DiffractiveSplitableHadron (const G4ReactionProduct &aPrimary) | |
G4DiffractiveSplitableHadron (const G4Nucleon &aNucleon) | |
G4DiffractiveSplitableHadron (const G4VKineticNucleon *aNucleon) | |
~G4DiffractiveSplitableHadron () | |
void | SplitUp () |
G4Parton * | GetNextParton () |
G4Parton * | GetNextAntiParton () |
void | SetFirstParton (G4int PDGcode) |
void | SetSecondParton (G4int PDGcode) |
Definition at line 46 of file G4DiffractiveSplitableHadron.hh.
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron | ( | ) |
Definition at line 44 of file G4DiffractiveSplitableHadron.cc.
00046 { 00047 PartonIndex=-1; 00048 Parton[0] = new G4Parton(1); 00049 Parton[1] = new G4Parton(-1); 00050 }
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron | ( | const G4ReactionProduct & | aPrimary | ) |
Definition at line 52 of file G4DiffractiveSplitableHadron.cc.
00053 : G4VSplitableHadron(aPrimary) 00054 { 00055 PartonIndex=-2; 00056 Parton[0]=NULL; 00057 }
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron | ( | const G4Nucleon & | aNucleon | ) |
Definition at line 59 of file G4DiffractiveSplitableHadron.cc.
00060 : G4VSplitableHadron(aNucleon) 00061 { 00062 PartonIndex=-2; 00063 Parton[0]=NULL; 00064 }
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron | ( | const G4VKineticNucleon * | aNucleon | ) |
Definition at line 66 of file G4DiffractiveSplitableHadron.cc.
00067 : G4VSplitableHadron(aNucleon) 00068 { 00069 PartonIndex=-2; 00070 Parton[0]=NULL; 00071 }
G4DiffractiveSplitableHadron::~G4DiffractiveSplitableHadron | ( | ) |
Definition at line 73 of file G4DiffractiveSplitableHadron.cc.
00074 { 00075 //G4cout<<"Destruct G4DiffractiveSplitableHadron"<<Parton[0]<<" "<<Parton[1]<<G4endl; 00076 // if(Parton[0] != NULL){delete Parton[0]; delete Parton[1];} 00077 }
G4Parton * G4DiffractiveSplitableHadron::GetNextAntiParton | ( | ) | [virtual] |
Implements G4VSplitableHadron.
Definition at line 110 of file G4DiffractiveSplitableHadron.cc.
00111 { 00112 ++PartonIndex; // Uzhi 22.11.10 00113 if ( PartonIndex > 1 || PartonIndex < 0 ) return NULL; 00114 G4int PartonInd(PartonIndex); 00115 if(PartonIndex == 1) PartonIndex=-1; 00116 return Parton[PartonInd]; 00117 // return NULL; // to be looked at @@ 00118 }
G4Parton * G4DiffractiveSplitableHadron::GetNextParton | ( | ) | [virtual] |
Implements G4VSplitableHadron.
Definition at line 100 of file G4DiffractiveSplitableHadron.cc.
00101 { 00102 ++PartonIndex; 00103 if ( PartonIndex > 1 || PartonIndex < 0 ) return NULL; 00104 G4int PartonInd(PartonIndex); // Vova 00105 if(PartonIndex == 1) PartonIndex=-1; // Vova 00106 return Parton[PartonInd]; 00107 // return Parton[PartonIndex]; 00108 }
void G4DiffractiveSplitableHadron::SetFirstParton | ( | G4int | PDGcode | ) | [virtual] |
Implements G4VSplitableHadron.
Definition at line 120 of file G4DiffractiveSplitableHadron.cc.
00121 { 00122 delete Parton[0]; 00123 Parton[0]=new G4Parton(PDGcode); 00124 }
void G4DiffractiveSplitableHadron::SetSecondParton | ( | G4int | PDGcode | ) | [virtual] |
Implements G4VSplitableHadron.
Definition at line 126 of file G4DiffractiveSplitableHadron.cc.
00127 { 00128 delete Parton[1]; 00129 Parton[1]=new G4Parton(PDGcode); 00130 }
void G4DiffractiveSplitableHadron::SplitUp | ( | ) | [virtual] |
Implements G4VSplitableHadron.
Definition at line 80 of file G4DiffractiveSplitableHadron.cc.
References G4VSplitableHadron::GetDefinition(), G4ParticleDefinition::GetPDGEncoding(), G4VSplitableHadron::IsSplit(), and G4VSplitableHadron::Splitting().
00081 { 00082 //G4cout<<"SplitUp() IsSplit() Parton[0] "<<IsSplit()<<" "<<Parton[0]<<G4endl; 00083 if (IsSplit()) return; 00084 Splitting(); 00085 // Split once only... 00086 if (Parton[0] != NULL) return; 00087 00088 // flavours of quark ends 00089 00090 G4int PDGcode=GetDefinition()->GetPDGEncoding(); 00091 00092 G4int stringStart, stringEnd; 00093 ChooseStringEnds(PDGcode, &stringStart,&stringEnd); 00094 00095 Parton[0] = new G4Parton(stringStart); 00096 Parton[1] = new G4Parton(stringEnd); 00097 PartonIndex=-1; 00098 }