G4DiffractiveSplitableHadron Class Reference

#include <G4DiffractiveSplitableHadron.hh>

Inheritance diagram for G4DiffractiveSplitableHadron:

G4VSplitableHadron

Public Member Functions

 G4DiffractiveSplitableHadron ()
 G4DiffractiveSplitableHadron (const G4ReactionProduct &aPrimary)
 G4DiffractiveSplitableHadron (const G4Nucleon &aNucleon)
 G4DiffractiveSplitableHadron (const G4VKineticNucleon *aNucleon)
 ~G4DiffractiveSplitableHadron ()
void SplitUp ()
G4PartonGetNextParton ()
G4PartonGetNextAntiParton ()
void SetFirstParton (G4int PDGcode)
void SetSecondParton (G4int PDGcode)

Detailed Description

Definition at line 46 of file G4DiffractiveSplitableHadron.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:46 2013 for Geant4 by  doxygen 1.4.7