Geant4  10.02
G4FTFModel Class Reference

#include <G4FTFModel.hh>

+ Inheritance diagram for G4FTFModel:
+ Collaboration diagram for G4FTFModel:

Public Member Functions

 G4FTFModel (const G4String &modelName="FTF")
 
 ~G4FTFModel ()
 
void Init (const G4Nucleus &aNucleus, const G4DynamicParticle &aProjectile)
 
G4ExcitedStringVectorGetStrings ()
 
G4V3DNucleusGetWoundedNucleus () const
 
G4V3DNucleusGetTargetNucleus () const
 
G4V3DNucleusGetProjectileNucleus () const
 
virtual void ModelDescription (std::ostream &) const
 
- Public Member Functions inherited from G4VPartonStringModel
 G4VPartonStringModel (const G4String &modelName="Parton String Model")
 
virtual ~G4VPartonStringModel ()
 
void SetFragmentationModel (G4VStringFragmentation *aModel)
 
G4KineticTrackVectorScatter (const G4Nucleus &theNucleus, const G4DynamicParticle &thePrimary)
 
- Public Member Functions inherited from G4VHighEnergyGenerator
 G4VHighEnergyGenerator (const G4String &modelName="High Energy Generator")
 
virtual ~G4VHighEnergyGenerator ()
 
std::pair< G4double, G4doubleGetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double AbsoluteLevel)
 
virtual G4String GetModelName () const
 

Private Member Functions

 G4FTFModel (const G4FTFModel &right)
 
const G4FTFModeloperator= (const G4FTFModel &right)
 
int operator== (const G4FTFModel &right) const
 
int operator!= (const G4FTFModel &right) const
 
void StoreInvolvedNucleon ()
 
void ReggeonCascade ()
 
G4bool PutOnMassShell ()
 
G4bool ExciteParticipants ()
 
G4ExcitedStringVectorBuildStrings ()
 
void GetResiduals ()
 
G4bool AdjustNucleons (G4VSplitableHadron *SelectedAntiBaryon, G4Nucleon *ProjectileNucleon, G4VSplitableHadron *SelectedTargetNucleon, G4Nucleon *TargetNucleon, G4bool Annihilation)
 
G4ThreeVector GaussianPt (G4double AveragePt2, G4double maxPtSquare) const
 
G4bool ComputeNucleusProperties (G4V3DNucleus *nucleus, G4LorentzVector &nucleusMomentum, G4LorentzVector &residualMomentum, G4double &sumMasses, G4double &residualExcitationEnergy, G4double &residualMass, G4int &residualMassNumber, G4int &residualCharge)
 
G4bool GenerateDeltaIsobar (const G4double sqrtS, const G4int numberOfInvolvedNucleons, G4Nucleon *involvedNucleons[], G4double &sumMasses)
 
G4bool SamplingNucleonKinematics (G4double averagePt2, const G4double maxPt2, G4double dCor, G4V3DNucleus *nucleus, const G4LorentzVector &pResidual, const G4double residualMass, const G4int residualMassNumber, const G4int numberOfInvolvedNucleons, G4Nucleon *involvedNucleons[], G4double &mass2)
 
G4bool CheckKinematics (const G4double sValue, const G4double sqrtS, const G4double projectileMass2, const G4double targetMass2, const G4double nucleusY, const G4bool isProjectileNucleus, const G4int numberOfInvolvedNucleons, G4Nucleon *involvedNucleons[], G4double &targetWminus, G4double &projectileWplus, G4bool &success)
 
G4bool FinalizeKinematics (const G4double w, const G4bool isProjectileNucleus, const G4LorentzRotation &boostFromCmsToLab, const G4double residualMass, const G4int residualMassNumber, const G4int numberOfInvolvedNucleons, G4Nucleon *involvedNucleons[], G4LorentzVector &residual4Momentum)
 

Private Attributes

G4ReactionProduct theProjectile
 
G4FTFParticipants theParticipants
 
G4NucleonTheInvolvedNucleonsOfTarget [250]
 
G4int NumberOfInvolvedNucleonsOfTarget
 
G4NucleonTheInvolvedNucleonsOfProjectile [250]
 
G4int NumberOfInvolvedNucleonsOfProjectile
 
G4FTFParameterstheParameters
 
G4DiffractiveExcitationtheExcitation
 
G4ElasticHNScatteringtheElastic
 
G4FTFAnnihilationtheAnnihilation
 
std::vector< G4VSplitableHadron * > theAdditionalString
 
G4double LowEnergyLimit
 
G4bool HighEnergyInter
 
G4LorentzVector ProjectileResidual4Momentum
 
G4int ProjectileResidualMassNumber
 
G4int ProjectileResidualCharge
 
G4double ProjectileResidualExcitationEnergy
 
G4LorentzVector TargetResidual4Momentum
 
G4int TargetResidualMassNumber
 
G4int TargetResidualCharge
 
G4double TargetResidualExcitationEnergy
 

Additional Inherited Members

- Protected Member Functions inherited from G4VPartonStringModel
void SetThisPointer (G4VPartonStringModel *aPointer)
 
G4bool EnergyAndMomentumCorrector (G4KineticTrackVector *Output, G4LorentzVector &TotalCollisionMomentum)
 

Detailed Description

Definition at line 63 of file G4FTFModel.hh.

Constructor & Destructor Documentation

G4FTFModel::~G4FTFModel ( )

Definition at line 114 of file G4FTFModel.cc.

References G4Nucleon::GetSplitableHadron(), NumberOfInvolvedNucleonsOfProjectile, NumberOfInvolvedNucleonsOfTarget, theAdditionalString, theAnnihilation, theElastic, theExcitation, TheInvolvedNucleonsOfProjectile, TheInvolvedNucleonsOfTarget, and theParameters.

+ Here is the call graph for this function:

G4FTFModel::G4FTFModel ( const G4FTFModel right)
private

Member Function Documentation

G4bool G4FTFModel::CheckKinematics ( const G4double  sValue,
const G4double  sqrtS,
const G4double  projectileMass2,
const G4double  targetMass2,
const G4double  nucleusY,
const G4bool  isProjectileNucleus,
const G4int  numberOfInvolvedNucleons,
G4Nucleon involvedNucleons[],
G4double targetWminus,
G4double projectileWplus,
G4bool success 
)
private

Definition at line 3171 of file G4FTFModel.cc.

References G4cout, G4endl, G4Log(), G4Nucleon::Get4Momentum(), G4VSplitableHadron::GetDefinition(), G4ParticleDefinition::GetPDGMass(), G4Nucleon::GetSplitableHadron(), sqr(), and x.

Referenced by PutOnMassShell().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4FTFModel::ComputeNucleusProperties ( G4V3DNucleus nucleus,
G4LorentzVector nucleusMomentum,
G4LorentzVector residualMomentum,
G4double sumMasses,
G4double residualExcitationEnergy,
G4double residualMass,
G4int residualMassNumber,
G4int residualCharge 
)
private

Definition at line 2900 of file G4FTFModel.cc.

References G4Nucleon::AreYouHit(), G4cout, G4endl, G4Log(), G4UniformRand, G4Nucleon::Get4Momentum(), G4Nucleon::GetDefinition(), G4FTFParameters::GetExcitationEnergyPerWoundedNucleon(), G4ParticleTable::GetIonTable(), G4V3DNucleus::GetNextNucleon(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), MeV, sqr(), G4V3DNucleus::StartLoop(), and theParameters.

Referenced by PutOnMassShell().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4FTFModel::FinalizeKinematics ( const G4double  w,
const G4bool  isProjectileNucleus,
const G4LorentzRotation boostFromCmsToLab,
const G4double  residualMass,
const G4int  residualMassNumber,
const G4int  numberOfInvolvedNucleons,
G4Nucleon involvedNucleons[],
G4LorentzVector residual4Momentum 
)
private

Definition at line 3245 of file G4FTFModel.cc.

References G4cout, G4endl, G4Nucleon::Get4Momentum(), G4VSplitableHadron::GetDefinition(), G4ParticleDefinition::GetPDGMass(), G4Nucleon::GetSplitableHadron(), G4VSplitableHadron::Set4Momentum(), G4Nucleon::SetMomentum(), sqr(), and x.

Referenced by PutOnMassShell().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4FTFModel::GaussianPt ( G4double  AveragePt2,
G4double  maxPtSquare 
) const
private

Definition at line 2880 of file G4FTFModel.cc.

References G4Exp(), G4Log(), G4UniformRand, and twopi.

Referenced by AdjustNucleons(), and SamplingNucleonKinematics().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4FTFModel::GenerateDeltaIsobar ( const G4double  sqrtS,
const G4int  numberOfInvolvedNucleons,
G4Nucleon involvedNucleons[],
G4double sumMasses 
)
private

Definition at line 2982 of file G4FTFModel.cc.

References G4ParticleTable::FindParticle(), G4UniformRand, G4VSplitableHadron::Get4Momentum(), G4VSplitableHadron::GetDefinition(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGEncoding(), G4ParticleDefinition::GetPDGMass(), G4Nucleon::GetSplitableHadron(), MeV, G4VSplitableHadron::SetDefinition(), and sqr().

Referenced by PutOnMassShell().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4V3DNucleus * G4FTFModel::GetProjectileNucleus ( ) const
inlinevirtual

Reimplemented from G4VPartonStringModel.

Definition at line 172 of file G4FTFModel.hh.

References G4VParticipants::GetProjectileNucleus(), and theParticipants.

Referenced by AdjustNucleons(), BuildStrings(), GetResiduals(), GetStrings(), PutOnMassShell(), ReggeonCascade(), and StoreInvolvedNucleon().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4V3DNucleus * G4FTFModel::GetTargetNucleus ( ) const
inline

Definition at line 167 of file G4FTFModel.hh.

References G4VParticipants::GetWoundedNucleus(), and theParticipants.

Referenced by GetResiduals(), PutOnMassShell(), ReggeonCascade(), and StoreInvolvedNucleon().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4V3DNucleus * G4FTFModel::GetWoundedNucleus ( ) const
inlinevirtual

Implements G4VPartonStringModel.

Definition at line 162 of file G4FTFModel.hh.

References G4VParticipants::GetWoundedNucleus(), and theParticipants.

+ Here is the call graph for this function:

void G4FTFModel::Init ( const G4Nucleus aNucleus,
const G4DynamicParticle aProjectile 
)
virtual
void G4FTFModel::ModelDescription ( std::ostream &  desc) const
virtual

Reimplemented from G4VPartonStringModel.

Definition at line 3317 of file G4FTFModel.cc.

int G4FTFModel::operator!= ( const G4FTFModel right) const
private
const G4FTFModel& G4FTFModel::operator= ( const G4FTFModel right)
private
int G4FTFModel::operator== ( const G4FTFModel right) const
private
G4bool G4FTFModel::PutOnMassShell ( )
private

Definition at line 532 of file G4FTFModel.cc.

References CheckKinematics(), ComputeNucleusProperties(), FinalizeKinematics(), G4cout, G4endl, GenerateDeltaIsobar(), G4VSplitableHadron::Get4Momentum(), G4FTFParameters::GetDofNuclearDestruction(), G4FTFParticipants::GetInteraction(), G4V3DNucleus::GetMassNumber(), G4FTFParameters::GetMaxPt2ofNuclearDestruction(), G4ReactionProduct::GetMomentum(), G4InteractionContent::GetProjectile(), GetProjectileNucleus(), G4FTFParameters::GetPt2ofNuclearDestruction(), GetTargetNucleus(), G4ReactionProduct::GetTotalEnergy(), GeV, MeV, G4FTFParticipants::Next(), NumberOfInvolvedNucleonsOfProjectile, NumberOfInvolvedNucleonsOfTarget, ProjectileResidual4Momentum, ProjectileResidualCharge, ProjectileResidualExcitationEnergy, ProjectileResidualMassNumber, S(), SamplingNucleonKinematics(), G4VSplitableHadron::Set4Momentum(), G4ReactionProduct::SetMomentum(), G4ReactionProduct::SetTotalEnergy(), sqr(), G4FTFParticipants::StartLoop(), TargetResidual4Momentum, TargetResidualCharge, TargetResidualExcitationEnergy, TargetResidualMassNumber, TheInvolvedNucleonsOfProjectile, TheInvolvedNucleonsOfTarget, theParameters, theParticipants, and theProjectile.

Referenced by GetStrings().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4FTFModel::SamplingNucleonKinematics ( G4double  averagePt2,
const G4double  maxPt2,
G4double  dCor,
G4V3DNucleus nucleus,
const G4LorentzVector pResidual,
const G4double  residualMass,
const G4int  residualMassNumber,
const G4int  numberOfInvolvedNucleons,
G4Nucleon involvedNucleons[],
G4double mass2 
)
private

Definition at line 3048 of file G4FTFModel.cc.

References G4cout, G4endl, GaussianPt(), G4Nucleon::Get4Momentum(), G4VSplitableHadron::GetDefinition(), G4ParticleDefinition::GetPDGMass(), G4Nucleon::GetSplitableHadron(), GeV, G4Nucleon::SetMomentum(), sqr(), and x.

Referenced by PutOnMassShell().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4FTFModel::StoreInvolvedNucleon ( )
private

Definition at line 375 of file G4FTFModel.cc.

References G4Nucleon::AreYouHit(), G4cout, G4endl, G4V3DNucleus::GetNextNucleon(), GetProjectileNucleus(), GetTargetNucleus(), NumberOfInvolvedNucleonsOfProjectile, NumberOfInvolvedNucleonsOfTarget, G4V3DNucleus::StartLoop(), TheInvolvedNucleonsOfProjectile, and TheInvolvedNucleonsOfTarget.

Referenced by GetStrings().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4bool G4FTFModel::HighEnergyInter
private
G4double G4FTFModel::LowEnergyLimit
private

Definition at line 146 of file G4FTFModel.hh.

Referenced by G4FTFModel(), and Init().

G4int G4FTFModel::NumberOfInvolvedNucleonsOfProjectile
private
G4int G4FTFModel::NumberOfInvolvedNucleonsOfTarget
private
G4LorentzVector G4FTFModel::ProjectileResidual4Momentum
private

Definition at line 149 of file G4FTFModel.hh.

Referenced by AdjustNucleons(), G4FTFModel(), GetResiduals(), Init(), and PutOnMassShell().

G4int G4FTFModel::ProjectileResidualCharge
private

Definition at line 151 of file G4FTFModel.hh.

Referenced by AdjustNucleons(), G4FTFModel(), GetResiduals(), Init(), and PutOnMassShell().

G4double G4FTFModel::ProjectileResidualExcitationEnergy
private

Definition at line 152 of file G4FTFModel.hh.

Referenced by AdjustNucleons(), G4FTFModel(), GetResiduals(), Init(), and PutOnMassShell().

G4int G4FTFModel::ProjectileResidualMassNumber
private

Definition at line 150 of file G4FTFModel.hh.

Referenced by AdjustNucleons(), G4FTFModel(), GetResiduals(), Init(), and PutOnMassShell().

G4LorentzVector G4FTFModel::TargetResidual4Momentum
private

Definition at line 154 of file G4FTFModel.hh.

Referenced by AdjustNucleons(), G4FTFModel(), GetResiduals(), Init(), and PutOnMassShell().

G4int G4FTFModel::TargetResidualCharge
private

Definition at line 156 of file G4FTFModel.hh.

Referenced by AdjustNucleons(), G4FTFModel(), GetResiduals(), Init(), and PutOnMassShell().

G4double G4FTFModel::TargetResidualExcitationEnergy
private

Definition at line 157 of file G4FTFModel.hh.

Referenced by AdjustNucleons(), G4FTFModel(), GetResiduals(), Init(), and PutOnMassShell().

G4int G4FTFModel::TargetResidualMassNumber
private

Definition at line 155 of file G4FTFModel.hh.

Referenced by AdjustNucleons(), G4FTFModel(), GetResiduals(), Init(), and PutOnMassShell().

std::vector< G4VSplitableHadron* > G4FTFModel::theAdditionalString
private

Definition at line 144 of file G4FTFModel.hh.

Referenced by BuildStrings(), ExciteParticipants(), Init(), and ~G4FTFModel().

G4FTFAnnihilation* G4FTFModel::theAnnihilation
private

Definition at line 142 of file G4FTFModel.hh.

Referenced by ExciteParticipants(), and ~G4FTFModel().

G4ElasticHNScattering* G4FTFModel::theElastic
private

Definition at line 141 of file G4FTFModel.hh.

Referenced by ExciteParticipants(), and ~G4FTFModel().

G4DiffractiveExcitation* G4FTFModel::theExcitation
private

Definition at line 140 of file G4FTFModel.hh.

Referenced by BuildStrings(), ExciteParticipants(), and ~G4FTFModel().

G4Nucleon* G4FTFModel::TheInvolvedNucleonsOfProjectile[250]
private
G4Nucleon* G4FTFModel::TheInvolvedNucleonsOfTarget[250]
private
G4ReactionProduct G4FTFModel::theProjectile
private

Definition at line 130 of file G4FTFModel.hh.

Referenced by GetStrings(), Init(), PutOnMassShell(), and ReggeonCascade().


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