#include <G4VLongitudinalStringDecay.hh>
|
virtual void | SetMassCut (G4double aValue) |
|
G4KineticTrackVector * | LightFragmentationTest (const G4ExcitedString *const theString) |
|
G4double | FragmentationMass (const G4FragmentingString *const string, Pcreate build=0, pDefPair *pdefs=0) |
|
G4ParticleDefinition * | FindParticle (G4int Encoding) |
|
virtual void | Sample4Momentum (G4LorentzVector *Mom, G4double Mass, G4LorentzVector *AntiMom, G4double AntiMass, G4double InitialMass)=0 |
|
virtual G4bool | StopFragmenting (const G4FragmentingString *const string)=0 |
|
virtual G4bool | IsFragmentable (const G4FragmentingString *const string)=0 |
|
virtual G4bool | SplitLast (G4FragmentingString *string, G4KineticTrackVector *LeftVector, G4KineticTrackVector *RightVector)=0 |
|
G4ExcitedString * | CPExcited (const G4ExcitedString &string) |
|
G4KineticTrack * | Splitup (G4FragmentingString *string, G4FragmentingString *&newString) |
|
G4ParticleDefinition * | QuarkSplitup (G4ParticleDefinition *decay, G4ParticleDefinition *&created) |
|
virtual G4ParticleDefinition * | DiQuarkSplitup (G4ParticleDefinition *decay, G4ParticleDefinition *&created)=0 |
|
pDefPair | CreatePartonPair (G4int NeedParticle, G4bool AllowDiquarks=true) |
|
virtual G4LorentzVector * | SplitEandP (G4ParticleDefinition *pHadron, G4FragmentingString *string, G4FragmentingString *newString)=0 |
|
virtual G4double | GetLightConeZ (G4double zmin, G4double zmax, G4int PartonEncoding, G4ParticleDefinition *pHadron, G4double Px, G4double Py)=0 |
|
void | CalculateHadronTimePosition (G4double theInitialStringMass, G4KineticTrackVector *) |
|
void | ConstructParticle () |
|
G4ParticleDefinition * | CreateHadron (G4int id1, G4int id2, G4bool theGivenSpin, G4int theSpin) |
|
G4double | GetDiquarkSuppress () |
|
G4double | GetDiquarkBreakProb () |
|
G4double | GetStrangeSuppress () |
|
G4double | GetClusterMass () |
|
G4int | GetClusterLoopInterrupt () |
|
G4double | GetStringTensionParameter () |
|
◆ Pcreate
◆ pDefPair
◆ G4VLongitudinalStringDecay() [1/2]
G4VLongitudinalStringDecay::G4VLongitudinalStringDecay |
( |
| ) |
|
Definition at line 65 of file G4VLongitudinalStringDecay.cc.
G4int StringLoopInterrupt
G4int ClusterLoopInterrupt
std::vector< G4double > vectorMesonMix
std::vector< G4double > scalarMesonMix
G4HadronBuilder * hadronizer
G4double DiquarkBreakProb
static const double fermi
◆ ~G4VLongitudinalStringDecay()
G4VLongitudinalStringDecay::~G4VLongitudinalStringDecay |
( |
| ) |
|
|
virtual |
◆ G4VLongitudinalStringDecay() [2/2]
◆ CalculateHadronTimePosition()
Definition at line 516 of file G4VLongitudinalStringDecay.cc.
522 for(
size_t c1 = 0;
c1 < Hadrons->size();
c1++)
528 SumPz += Hadrons->operator[](
c2)->Get4Momentum().pz();
529 SumE += Hadrons->operator[](
c2)->Get4Momentum().e();
531 G4double HadronE = Hadrons->operator[](
c1)->Get4Momentum().e();
532 G4double HadronPz = Hadrons->operator[](
c1)->Get4Momentum().pz();
533 Hadrons->operator[](
c1)->SetFormationTime(
534 (theInitialStringMass - 2.*SumPz + HadronE - HadronPz)/(2.*kappa)/
c_light);
537 (theInitialStringMass - 2.*SumE - HadronE + HadronPz)/(2.*kappa));
538 Hadrons->operator[](
c1)->SetPosition(aPosition);
G4double GetStringTensionParameter()
◆ ConstructParticle()
void G4VLongitudinalStringDecay::ConstructParticle |
( |
| ) |
|
|
protected |
◆ CPExcited()
◆ CreateHadron()
◆ CreatePartonPair()
Definition at line 475 of file G4VLongitudinalStringDecay.cc.
G4int SampleQuarkFlavor(void)
std::pair< G4ParticleDefinition *, G4ParticleDefinition * > pDefPair
G4ParticleDefinition * FindParticle(G4int Encoding)
◆ DecayResonans()
◆ DiQuarkSplitup()
◆ FindParticle()
Definition at line 281 of file G4VLongitudinalStringDecay.cc.
286 G4cout <<
"Particle with encoding "<<Encoding<<
" does not exist!!!"<<
G4endl;
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
G4GLOB_DLL std::ostream G4cout
static G4ParticleTable * GetParticleTable()
◆ FragmentationMass()
Definition at line 220 of file G4VLongitudinalStringDecay.cc.
226 static G4ThreadLocal std::vector<double> *nomix_G4MT_TLS_ = 0 ;
if (!nomix_G4MT_TLS_) nomix_G4MT_TLS_ =
new std::vector<double> ; std::vector<double> &nomix = *nomix_G4MT_TLS_;
232 for (
G4int i=0; i<6 ; i++ ) nomix[i]=0;
246 Hadron1 = (minMassHadronizer->*build)(string->
GetLeftParton(),
247 string->GetRightParton());
250 #ifdef debug_VStringDecay 251 G4cout<<
"Quarks at the string ends "<<
string->GetLeftParton()->GetParticleName()<<
" "<<
string->GetRightParton()->GetParticleName()<<
G4endl;
254 mass= (Hadron1)->GetPDGMass();
263 Hadron1 = (minMassHadronizer->*build)(string->
GetLeftParton(),
267 mass = (Hadron1)->GetPDGMass() + (Hadron2)->GetPDGMass();
272 pdefs->first = Hadron1;
273 pdefs->second = Hadron2;
G4ParticleDefinition * GetLeftParton(void) const
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
G4int GetPDGEncoding() const
G4ParticleDefinition * FindParticle(G4int Encoding)
G4bool FourQuarkString(void) const
G4HadronBuilder * hadronizer
G4double GetPDGMass() const
G4ParticleDefinition * BuildLowSpin(G4ParticleDefinition *black, G4ParticleDefinition *white)
G4ParticleDefinition * GetRightParton(void) const
◆ FragmentString()
◆ GetClusterLoopInterrupt()
G4int G4VLongitudinalStringDecay::GetClusterLoopInterrupt |
( |
| ) |
|
|
inlineprotected |
◆ GetClusterMass()
G4double G4VLongitudinalStringDecay::GetClusterMass |
( |
| ) |
|
|
inlineprotected |
◆ GetDiquarkBreakProb()
G4double G4VLongitudinalStringDecay::GetDiquarkBreakProb |
( |
| ) |
|
|
inlineprotected |
◆ GetDiquarkSuppress()
G4double G4VLongitudinalStringDecay::GetDiquarkSuppress |
( |
| ) |
|
|
inlineprotected |
◆ GetLightConeZ()
◆ GetStrangeSuppress()
G4double G4VLongitudinalStringDecay::GetStrangeSuppress |
( |
| ) |
|
|
inlineprotected |
◆ GetStringTensionParameter()
G4double G4VLongitudinalStringDecay::GetStringTensionParameter |
( |
| ) |
|
|
inlineprotected |
◆ IsFragmentable()
◆ LightFragmentationTest()
Definition at line 149 of file G4VLongitudinalStringDecay.cc.
166 if ( hadrons.second ==0 )
171 #ifdef debug_VStringDecay 172 G4cout <<
"VlongSF Warning replacing string by single hadron (G4VLongitudinalStringDecay)" <<
G4endl;
173 G4cout << hadrons.first->GetParticleName()<<G4endl
174 <<
"string .. " <<
string->Get4Momentum() <<
" " 175 <<
string->Get4Momentum().m() <<
G4endl;
180 std::sqrt(Mom3.
mag2() +
181 sqr(hadrons.first->GetPDGMass())));
183 string->GetPosition(),
190 #ifdef debug_VStringDecay 191 G4cout <<
"VlongSF Warning replacing qq-qqbar string by TWO hadrons (G4VLongitudinalStringDecay)" 192 << hadrons.first->GetParticleName() <<
" / " 193 << hadrons.second->GetParticleName()
194 <<
"string .. " <<
string->Get4Momentum() <<
" " 195 <<
string->Get4Momentum().m() <<
G4endl;
200 &Mom2,hadrons.second->GetPDGMass(),
201 string->Get4Momentum().
mag());
204 string->GetPosition(),
207 string->GetPosition(),
210 G4ThreeVector Velocity =
string->Get4Momentum().boostVector();
211 result->
Boost(Velocity);
G4double FragmentationMass(const G4FragmentingString *const string, Pcreate build=0, pDefPair *pdefs=0)
G4GLOB_DLL std::ostream G4cout
std::pair< G4ParticleDefinition *, G4ParticleDefinition * > pDefPair
virtual void Sample4Momentum(G4LorentzVector *Mom, G4double Mass, G4LorentzVector *AntiMom, G4double AntiMass, G4double InitialMass)=0
void Boost(G4ThreeVector &Velocity)
◆ operator!=()
◆ operator=()
◆ operator==()
◆ QuarkSplitup()
Definition at line 404 of file G4VLongitudinalStringDecay.cc.
411 created = QuarkPair.second;
pDefPair CreatePartonPair(G4int NeedParticle, G4bool AllowDiquarks=true)
G4int GetPDGEncoding() const
std::pair< G4ParticleDefinition *, G4ParticleDefinition * > pDefPair
G4ParticleDefinition * Build(G4ParticleDefinition *black, G4ParticleDefinition *white)
G4HadronBuilder * hadronizer
◆ Sample4Momentum()
◆ SampleQuarkFlavor()
G4int G4VLongitudinalStringDecay::SampleQuarkFlavor |
( |
void |
| ) |
|
◆ SampleQuarkPt()
Definition at line 499 of file G4VLongitudinalStringDecay.cc.
511 return G4ThreeVector(Pt * std::cos(phi),Pt * std::sin(phi),0);
ThreeVector shoot(const G4int Ap, const G4int Af)
CLHEP::Hep3Vector G4ThreeVector
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
◆ SetDiquarkBreakProbability()
void G4VLongitudinalStringDecay::SetDiquarkBreakProbability |
( |
G4double |
aValue | ) |
|
◆ SetDiquarkSuppression()
void G4VLongitudinalStringDecay::SetDiquarkSuppression |
( |
G4double |
aValue | ) |
|
◆ SetMassCut()
void G4VLongitudinalStringDecay::SetMassCut |
( |
G4double |
aValue | ) |
|
|
protectedvirtual |
◆ SetScalarMesonMixings()
void G4VLongitudinalStringDecay::SetScalarMesonMixings |
( |
std::vector< G4double > |
aVector | ) |
|
Definition at line 617 of file G4VLongitudinalStringDecay.cc.
620 throw G4HadronicException(__FILE__, __LINE__,
"G4VLongitudinalStringDecay::SetScalarMesonMixings after FragmentString() not allowed");
622 if ( aVector.size() < 6 )
623 throw G4HadronicException(__FILE__, __LINE__,
"G4VLongitudinalStringDecay::SetScalarMesonMixings( argument Vector too small");
std::vector< G4double > vectorMesonMix
std::vector< G4double > scalarMesonMix
G4HadronBuilder * hadronizer
◆ SetSigmaTransverseMomentum()
void G4VLongitudinalStringDecay::SetSigmaTransverseMomentum |
( |
G4double |
aQT | ) |
|
◆ SetSpinThreeHalfBarionProbability()
void G4VLongitudinalStringDecay::SetSpinThreeHalfBarionProbability |
( |
G4double |
aValue | ) |
|
Definition at line 603 of file G4VLongitudinalStringDecay.cc.
606 throw G4HadronicException(__FILE__, __LINE__,
"G4VLongitudinalStringDecay::SetSpinThreeHalfBarionProbability after FragmentString() not allowed");
std::vector< G4double > vectorMesonMix
std::vector< G4double > scalarMesonMix
G4HadronBuilder * hadronizer
◆ SetStrangenessSuppression()
void G4VLongitudinalStringDecay::SetStrangenessSuppression |
( |
G4double |
aValue | ) |
|
◆ SetStringTensionParameter()
void G4VLongitudinalStringDecay::SetStringTensionParameter |
( |
G4double |
aValue | ) |
|
◆ SetVectorMesonMixings()
void G4VLongitudinalStringDecay::SetVectorMesonMixings |
( |
std::vector< G4double > |
aVector | ) |
|
Definition at line 638 of file G4VLongitudinalStringDecay.cc.
641 throw G4HadronicException(__FILE__, __LINE__,
"G4VLongitudinalStringDecay::SetVectorMesonMixings after FragmentString() not allowed");
643 if ( aVector.size() < 6 )
644 throw G4HadronicException(__FILE__, __LINE__,
"G4VLongitudinalStringDecay::SetVectorMesonMixings( argument Vector too small");
std::vector< G4double > vectorMesonMix
std::vector< G4double > scalarMesonMix
G4HadronBuilder * hadronizer
◆ SetVectorMesonProbability()
void G4VLongitudinalStringDecay::SetVectorMesonProbability |
( |
G4double |
aValue | ) |
|
Definition at line 589 of file G4VLongitudinalStringDecay.cc.
592 throw G4HadronicException(__FILE__, __LINE__,
"G4VLongitudinalStringDecay::SetVectorMesonProbability after FragmentString() not allowed");
std::vector< G4double > vectorMesonMix
std::vector< G4double > scalarMesonMix
G4HadronBuilder * hadronizer
◆ SplitEandP()
◆ SplitLast()
◆ Splitup()
Definition at line 317 of file G4VLongitudinalStringDecay.cc.
322 #ifdef debug_VStringDecay 324 G4cout<<
"Start SplitUP (G4VLongitudinalStringDecay) ========================="<<
G4endl;
325 G4cout<<
"String partons: " <<
string->GetLeftParton()->GetPDGEncoding()<<
" " 326 <<
string->GetRightParton()->GetPDGEncoding()<<
" " 327 <<
"Direction " <<
string->GetDecayDirection()<<
G4endl;
334 string->SetLeftPartonStable();
337 string->SetRightPartonStable();
350 #ifdef debug_VStringDecay 351 G4cout<<
"The parton "<<
string->GetDecayParton()->GetPDGEncoding()<<
" " 354 G4cout<<
"The side of the string decay Left/Right (1/-1) "<<SideOfDecay<<
G4endl;
362 #ifdef debug_VStringDecay 363 G4cout<<
"An attempt to determine its energy (SplitEandP)"<<
G4endl;
367 delete newString; newString=0;
370 if ( HadronMomentum != 0 ) {
373 #ifdef debug_VStringDecay 377 Hadron =
new G4KineticTrack(HadronDefinition, 0,Pos, *HadronMomentum);
382 delete HadronMomentum;
388 #ifdef debug_VStringDecay 394 #ifdef debug_VStringDecay 395 G4cout<<
"End SplitUP (G4VLongitudinalStringDecay) ====================="<<
G4endl;
G4ParticleDefinition * QuarkSplitup(G4ParticleDefinition *decay, G4ParticleDefinition *&created)
G4ParticleDefinition * GetDecayParton() const
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
G4int GetPDGEncoding() const
virtual G4ParticleDefinition * DiQuarkSplitup(G4ParticleDefinition *decay, G4ParticleDefinition *&created)=0
virtual G4LorentzVector * SplitEandP(G4ParticleDefinition *pHadron, G4FragmentingString *string, G4FragmentingString *newString)=0
◆ StopFragmenting()
◆ ClusterLoopInterrupt
G4int G4VLongitudinalStringDecay::ClusterLoopInterrupt |
|
protected |
◆ ClusterMass
G4double G4VLongitudinalStringDecay::ClusterMass |
|
protected |
◆ DiquarkBreakProb
G4double G4VLongitudinalStringDecay::DiquarkBreakProb |
|
protected |
◆ DiquarkSuppress
G4double G4VLongitudinalStringDecay::DiquarkSuppress |
|
protected |
◆ hadronizer
◆ Kappa
G4double G4VLongitudinalStringDecay::Kappa |
|
protected |
◆ MassCut
G4double G4VLongitudinalStringDecay::MassCut |
|
protected |
◆ PastInitPhase
G4bool G4VLongitudinalStringDecay::PastInitPhase |
|
protected |
◆ pspin_barion
G4double G4VLongitudinalStringDecay::pspin_barion |
|
protected |
◆ pspin_meson
G4double G4VLongitudinalStringDecay::pspin_meson |
|
protected |
◆ scalarMesonMix
std::vector<G4double> G4VLongitudinalStringDecay::scalarMesonMix |
|
protected |
◆ SigmaQT
G4double G4VLongitudinalStringDecay::SigmaQT |
|
protected |
◆ SmoothParam
G4double G4VLongitudinalStringDecay::SmoothParam |
|
protected |
◆ StrangeSuppress
G4double G4VLongitudinalStringDecay::StrangeSuppress |
|
protected |
◆ StringLoopInterrupt
G4int G4VLongitudinalStringDecay::StringLoopInterrupt |
|
protected |
◆ vectorMesonMix
std::vector<G4double> G4VLongitudinalStringDecay::vectorMesonMix |
|
protected |
The documentation for this class was generated from the following files: