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

#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 ()
 
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 ()
 
virtual void SplitUp ()=0
 
virtual void SetFirstParton (G4int PDGcode)=0
 
virtual void SetSecondParton (G4int PDGcode)=0
 
virtual G4PartonGetNextParton ()=0
 
virtual G4PartonGetNextAntiParton ()=0
 
G4bool IsSplit ()
 
G4int GetSoftCollisionCount ()
 

Additional Inherited Members

- Protected Member Functions inherited from G4VSplitableHadron
void Splitting ()
 

Detailed Description

Definition at line 46 of file G4DiffractiveSplitableHadron.hh.

Constructor & Destructor Documentation

◆ G4DiffractiveSplitableHadron() [1/4]

G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron ( )

Definition at line 44 of file G4DiffractiveSplitableHadron.cc.

46{
47 PartonIndex=-1;
48 Parton[0] = new G4Parton(1);
49 Parton[1] = new G4Parton(-1);
50}

◆ G4DiffractiveSplitableHadron() [2/4]

G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron ( const G4ReactionProduct aPrimary)

Definition at line 52 of file G4DiffractiveSplitableHadron.cc.

53 : G4VSplitableHadron(aPrimary)
54{
55 PartonIndex=-2;
56 Parton[0]=NULL;
57}

◆ G4DiffractiveSplitableHadron() [3/4]

G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron ( const G4Nucleon aNucleon)

Definition at line 59 of file G4DiffractiveSplitableHadron.cc.

60 : G4VSplitableHadron(aNucleon)
61{
62 PartonIndex=-2;
63 Parton[0]=NULL;
64}

◆ G4DiffractiveSplitableHadron() [4/4]

G4DiffractiveSplitableHadron::G4DiffractiveSplitableHadron ( const G4VKineticNucleon aNucleon)

Definition at line 66 of file G4DiffractiveSplitableHadron.cc.

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

◆ ~G4DiffractiveSplitableHadron()

G4DiffractiveSplitableHadron::~G4DiffractiveSplitableHadron ( )

Definition at line 73 of file G4DiffractiveSplitableHadron.cc.

74{
75//G4cout<<"Destruct G4DiffractiveSplitableHadron"<<Parton[0]<<" "<<Parton[1]<<G4endl;
76// if(Parton[0] != NULL){delete Parton[0]; delete Parton[1];}
77}

Member Function Documentation

◆ GetNextAntiParton()

G4Parton * G4DiffractiveSplitableHadron::GetNextAntiParton ( )
virtual

Implements G4VSplitableHadron.

Definition at line 110 of file G4DiffractiveSplitableHadron.cc.

111{
112 ++PartonIndex; // Uzhi 22.11.10
113 if ( PartonIndex > 1 || PartonIndex < 0 ) return NULL;
114 G4int PartonInd(PartonIndex);
115 if(PartonIndex == 1) PartonIndex=-1;
116 return Parton[PartonInd];
117// return NULL; // to be looked at @@
118}
int G4int
Definition: G4Types.hh:66

◆ GetNextParton()

G4Parton * G4DiffractiveSplitableHadron::GetNextParton ( )
virtual

Implements G4VSplitableHadron.

Definition at line 100 of file G4DiffractiveSplitableHadron.cc.

101{
102 ++PartonIndex;
103 if ( PartonIndex > 1 || PartonIndex < 0 ) return NULL;
104 G4int PartonInd(PartonIndex); // Vova
105 if(PartonIndex == 1) PartonIndex=-1; // Vova
106 return Parton[PartonInd];
107// return Parton[PartonIndex];
108}

◆ SetFirstParton()

void G4DiffractiveSplitableHadron::SetFirstParton ( G4int  PDGcode)
virtual

Implements G4VSplitableHadron.

Definition at line 120 of file G4DiffractiveSplitableHadron.cc.

121{
122 delete Parton[0];
123 Parton[0]=new G4Parton(PDGcode);
124}

◆ SetSecondParton()

void G4DiffractiveSplitableHadron::SetSecondParton ( G4int  PDGcode)
virtual

Implements G4VSplitableHadron.

Definition at line 126 of file G4DiffractiveSplitableHadron.cc.

127{
128 delete Parton[1];
129 Parton[1]=new G4Parton(PDGcode);
130}

◆ SplitUp()

void G4DiffractiveSplitableHadron::SplitUp ( )
virtual

Implements G4VSplitableHadron.

Definition at line 80 of file G4DiffractiveSplitableHadron.cc.

81{
82//G4cout<<"SplitUp() IsSplit() Parton[0] "<<IsSplit()<<" "<<Parton[0]<<G4endl;
83 if (IsSplit()) return;
84 Splitting();
85// Split once only...
86 if (Parton[0] != NULL) return;
87
88// flavours of quark ends
89
91
92 G4int stringStart, stringEnd;
93 ChooseStringEnds(PDGcode, &stringStart,&stringEnd);
94
95 Parton[0] = new G4Parton(stringStart);
96 Parton[1] = new G4Parton(stringEnd);
97 PartonIndex=-1;
98}
G4ParticleDefinition * GetDefinition() const

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