Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
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)
 
- Public Member Functions inherited from G4VSplitableHadron
 G4VSplitableHadron ()
 
 G4VSplitableHadron (const G4ReactionProduct &aPrimary)
 
 G4VSplitableHadron (const G4Nucleon &aNucleon)
 
 G4VSplitableHadron (const G4VKineticNucleon *aNucleon)
 
virtual ~G4VSplitableHadron ()
 
int operator== (const G4VSplitableHadron &right) const
 
int operator!= (const G4VSplitableHadron &right) const
 
void Set4Momentum (const G4LorentzVector &a4Momentum)
 
const G4LorentzVectorGet4Momentum () const
 
void SetDefinition (G4ParticleDefinition *aDefinition)
 
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 ()
 

Additional Inherited Members

- Protected Member Functions inherited from G4VSplitableHadron
void Splitting ()
 

Detailed Description

Definition at line 47 of file G4DiffractiveSplitableHadron.hh.

Constructor & Destructor Documentation

G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron ( )

Definition at line 47 of file G4DiffractiveSplitableHadron.cc.

47  {
48  PartonIndex = -1;
49  Parton[0] = new G4Parton( 1 );
50  Parton[1] = new G4Parton(-1 );
51 }
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron ( const G4ReactionProduct aPrimary)

Definition at line 56 of file G4DiffractiveSplitableHadron.cc.

56  :
57  G4VSplitableHadron( aPrimary )
58 {
59  PartonIndex = -2;
60  Parton[0] = NULL;
61 }
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron ( const G4Nucleon aNucleon)

Definition at line 66 of file G4DiffractiveSplitableHadron.cc.

66  :
67  G4VSplitableHadron( aNucleon )
68 {
69  PartonIndex = -2;
70  Parton[0] = NULL;
71 }
G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron ( const G4VKineticNucleon aNucleon)

Definition at line 76 of file G4DiffractiveSplitableHadron.cc.

76  :
77  G4VSplitableHadron( aNucleon )
78 {
79  PartonIndex = -2;
80  Parton[0] = NULL;
81 }
G4DiffractiveSplitableHadron::~G4DiffractiveSplitableHadron ( )

Definition at line 86 of file G4DiffractiveSplitableHadron.cc.

86  {
87  //G4cout << "Destruct G4DiffractiveSplitableHadron" << Parton[0] << " " << Parton[1] << G4endl;
88  //if ( Parton[0] != NULL ) { delete Parton[0]; delete Parton[1]; }
89 }

Member Function Documentation

G4Parton * G4DiffractiveSplitableHadron::GetNextAntiParton ( )
virtual

Implements G4VSplitableHadron.

Definition at line 125 of file G4DiffractiveSplitableHadron.cc.

125  {
126  ++PartonIndex;
127  if ( PartonIndex > 1 || PartonIndex < 0 ) return NULL;
128  G4int PartonInd( PartonIndex );
129  if ( PartonIndex == 1 ) PartonIndex = -1;
130  return Parton[ PartonInd ];
131 }
int G4int
Definition: G4Types.hh:78
G4Parton * G4DiffractiveSplitableHadron::GetNextParton ( )
virtual

Implements G4VSplitableHadron.

Definition at line 114 of file G4DiffractiveSplitableHadron.cc.

114  {
115  ++PartonIndex;
116  if ( PartonIndex > 1 || PartonIndex < 0 ) return NULL;
117  G4int PartonInd( PartonIndex );
118  if ( PartonIndex == 1 ) PartonIndex = -1;
119  return Parton[ PartonInd ];
120 }
int G4int
Definition: G4Types.hh:78
void G4DiffractiveSplitableHadron::SetFirstParton ( G4int  PDGcode)
virtual

Implements G4VSplitableHadron.

Definition at line 136 of file G4DiffractiveSplitableHadron.cc.

136  {
137  delete Parton[0];
138  Parton[0] = new G4Parton( PDGcode );
139 }
void G4DiffractiveSplitableHadron::SetSecondParton ( G4int  PDGcode)
virtual

Implements G4VSplitableHadron.

Definition at line 144 of file G4DiffractiveSplitableHadron.cc.

144  {
145  delete Parton[1];
146  Parton[1] = new G4Parton( PDGcode );
147 }
void G4DiffractiveSplitableHadron::SplitUp ( )
virtual

Implements G4VSplitableHadron.

Definition at line 94 of file G4DiffractiveSplitableHadron.cc.

References G4VSplitableHadron::GetDefinition(), G4ParticleDefinition::GetPDGEncoding(), G4VSplitableHadron::IsSplit(), and G4VSplitableHadron::Splitting().

94  {
95  //G4cout << "SplitUp() IsSplit() Parton[0] " << IsSplit() << " " << Parton[0] << G4endl;
96  if ( IsSplit() ) return;
97  Splitting();
98  // Split once only...
99  if ( Parton[0] != NULL ) return;
100 
101  // flavours of quark ends
102  G4int PDGcode = GetDefinition()->GetPDGEncoding();
103  G4int stringStart, stringEnd;
104  ChooseStringEnds( PDGcode, &stringStart, &stringEnd );
105 
106  Parton[0] = new G4Parton( stringStart );
107  Parton[1] = new G4Parton( stringEnd );
108  PartonIndex = -1;
109 }
int G4int
Definition: G4Types.hh:78
G4ParticleDefinition * GetDefinition() const

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