ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Cluster coalescence algorithm used in the IAEA intercomparison. More...
Classes | |
class | SortedNucleonConfiguration |
Class for storing and comparing sorted nucleon configurations. More... | |
Public Member Functions | |
ClusteringModelIntercomparison (Config const *const theConfig) | |
virtual | ~ClusteringModelIntercomparison () |
virtual Cluster * | getCluster (Nucleus *, Particle *) |
virtual G4bool | clusterCanEscape (Nucleus const *const, Cluster const *const) |
Public Member Functions inherited from G4INCL::IClusteringModel | |
IClusteringModel () | |
virtual | ~IClusteringModel () |
Private Types | |
typedef std::set < SortedNucleonConfiguration > | SortedNucleonConfigurationContainer |
typedef SortedNucleonConfigurationContainer::iterator | SortedNucleonConfigurationIterator |
Private Member Functions | |
void | findClusterStartingFrom (const G4int oldA, const G4int oldZ, const G4int oldS) |
G4double | getPhaseSpace (const G4int oldA, ConsideredPartner const &p) |
Static Private Attributes | |
static const G4int | clusterZMin [ParticleTable::maxClusterMass+1] = {0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3} |
Lower limit of Z for cluster of mass A. | |
static const G4int | clusterZMax [ParticleTable::maxClusterMass+1] = {0, 0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 7, 8} |
Upper limit of Z for cluster of mass A. | |
static const G4double | clusterPosFact [ParticleTable::maxClusterMass+1] |
Precomputed factor 1.0/A. | |
static const G4double | clusterPosFact2 [ParticleTable::maxClusterMass+1] |
Precomputed factor (1.0/A)^2. | |
static const G4double | clusterPhaseSpaceCut [ParticleTable::maxClusterMass+1] |
Phase-space parameters for cluster formation. | |
static const G4double | limitCosEscapeAngle = 0.7 |
Cluster coalescence algorithm used in the IAEA intercomparison.
Definition at line 96 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 96 of file G4INCLClusteringModelIntercomparison.hh
|
private |
Definition at line 303 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 303 of file G4INCLClusteringModelIntercomparison.hh
|
private |
Definition at line 304 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 304 of file G4INCLClusteringModelIntercomparison.hh
|
inline |
Definition at line 98 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 98 of file G4INCLClusteringModelIntercomparison.hh
References A(), candidateConfiguration, clusterNMaxAll, clusterZMax, clusterZMaxAll, clusterZMin, G4INCL::ParticleTable::maxClusterMass, runningConfiguration, runningEnergies, runningMaxClusterAlgorithmMass, and runningPotentials.
|
inlinevirtual |
Definition at line 142 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 142 of file G4INCLClusteringModelIntercomparison.hh
References consideredPartners, and isInRunningConfiguration.
|
virtual |
Determine whether cluster can escape or not.
Implements G4INCL::IClusteringModel.
Definition at line 380 of file G4INCLClusteringModelIntercomparison.cc.
View newest version in sPHENIX GitHub at line 380 of file G4INCLClusteringModelIntercomparison.cc
References G4INCL::ThreeVector::dot(), G4INCL::Particle::getA(), G4INCL::Particle::getMomentum(), G4INCL::Particle::getPosition(), G4INCL::Particle::getS(), limitCosEscapeAngle, G4INCL::ThreeVector::mag2(), mom, and pos().
|
private |
Definition at line 222 of file G4INCLClusteringModelIntercomparison.cc.
View newest version in sPHENIX GitHub at line 222 of file G4INCLClusteringModelIntercomparison.cc
References candidateConfiguration, cascadingEnergyPool, checkedConfigurations, clusterNMaxAll, clusterPhaseSpaceCut, clusterPosFact, clusterZMax, clusterZMaxAll, clusterZMin, consideredPartners, G4INCL::ConsideredPartner::energy, G4INCL::ClusteringModelIntercomparison::SortedNucleonConfiguration::fill(), G4INCL::Particle::getA(), G4INCL::Nucleus::getDensity(), getPhaseSpace(), G4INCL::NuclearDensity::getProtonNuclearRadius(), G4INCL::ParticleTable::getRealMass(), G4INCL::Particle::getZ(), G4INCL::KinematicsUtils::invariantMass(), isInRunningConfiguration, G4INCL::ConsideredPartner::isTargetSpectator, lambdaMass, G4INCL::ConsideredPartner::momentum, nConsidered, neutronMass, particle, G4INCL::ConsideredPartner::position, G4INCL::ConsideredPartner::potentialEnergy, protonMass, runningConfiguration, runningEnergies, runningMaxClusterAlgorithmMass, runningMomenta, runningPositions, runningPotentials, G4INCL::ConsideredPartner::S, selectedA, selectedS, selectedZ, sqtot, theNucleus, and G4INCL::ConsideredPartner::Z.
Referenced by getCluster().
Choose a cluster candidate to be produced. At this point we don't yet decide if it can pass through the Coulomb barrier or not.
Implements G4INCL::IClusteringModel.
Definition at line 80 of file G4INCLClusteringModelIntercomparison.cc.
View newest version in sPHENIX GitHub at line 80 of file G4INCLClusteringModelIntercomparison.cc
References candidateConfiguration, cascadingEnergyPool, checkedConfigurations, clear(), clusterPhaseSpaceCut, clusterPosFact2, consideredPartners, G4INCL::ThreeVector::dot(), e, energy, findClusterStartingFrom(), G4INCL::Particle::getA(), G4INCL::Config::getClusterMaxMass(), G4INCL::Store::getConfig(), G4INCL::Nucleus::getDensity(), G4INCL::Particle::getEnergy(), G4INCL::Particle::getID(), G4INCL::Particle::getMomentum(), G4INCL::Store::getParticles(), G4INCL::Particle::getPosition(), G4INCL::Particle::getPotentialEnergy(), G4INCL::NuclearDensity::getProtonNuclearRadius(), G4INCL::Nucleus::getStore(), G4INCL::Nucleus::getUniverseRadius(), G4INCL::Particle::getZ(), isInRunningConfiguration, G4INCL::ThreeVector::mag(), maxMassConfigurationSkipping, min, momentum, nConsidered, nConsideredMax, particle, runningEnergies, runningMaxClusterAlgorithmMass, runningMomenta, runningPositions, runningPotentials, selectedA, selectedZ, G4INCL::Particle::setPosition(), sqtot, and theNucleus.
|
private |
Definition at line 216 of file G4INCLClusteringModelIntercomparison.cc.
View newest version in sPHENIX GitHub at line 216 of file G4INCLClusteringModelIntercomparison.cc
References clusterPosFact2, G4INCL::ConsideredPartner::momentum, G4INCL::ConsideredPartner::position, runningMomenta, and runningPositions.
Referenced by findClusterStartingFrom().
|
private |
Best cluster configuration.
This array contains pointers to the nucleons which make up the best cluster configuration that has been found so far.
Definition at line 227 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 227 of file G4INCLClusteringModelIntercomparison.hh
Referenced by ClusteringModelIntercomparison(), findClusterStartingFrom(), and getCluster().
|
private |
Definition at line 173 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 173 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), and getCluster().
|
private |
Array of containers for configurations that have already been checked.
Definition at line 307 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 307 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), and getCluster().
|
private |
Definition at line 171 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 171 of file G4INCLClusteringModelIntercomparison.hh
Referenced by ClusteringModelIntercomparison(), and findClusterStartingFrom().
|
staticprivate |
Phase-space parameters for cluster formation.
Definition at line 187 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 187 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), and getCluster().
|
staticprivate |
Precomputed factor 1.0/A.
Definition at line 181 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 181 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom().
|
staticprivate |
Precomputed factor (1.0/A)^2.
Definition at line 184 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 184 of file G4INCLClusteringModelIntercomparison.hh
Referenced by getCluster(), and getPhaseSpace().
|
staticprivate |
Upper limit of Z for cluster of mass A.
Definition at line 178 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 178 of file G4INCLClusteringModelIntercomparison.hh
Referenced by ClusteringModelIntercomparison(), and findClusterStartingFrom().
|
private |
Definition at line 171 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 171 of file G4INCLClusteringModelIntercomparison.hh
Referenced by ClusteringModelIntercomparison(), and findClusterStartingFrom().
|
staticprivate |
Lower limit of Z for cluster of mass A.
Definition at line 176 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 176 of file G4INCLClusteringModelIntercomparison.hh
Referenced by ClusteringModelIntercomparison(), and findClusterStartingFrom().
|
private |
Array of considered cluster partners.
A dynamical array of ConsideredPartner objects is allocated on this variable and filled with pointers to nucleons which are eligible for clustering. We used to use a ParticleList for this purpose, but this made it very cumbersome to check whether nucleons had already been included in the running configuration. Using an array of Particle* coupled with a boolean mask (
Lesson learnt: when you need speed, nothing beats a good ol' array.
Definition at line 213 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 213 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), getCluster(), and ~ClusteringModelIntercomparison().
|
private |
Array of flags for nucleons in the running configuration.
Clustering partners that are already used in the running cluster configuration are flagged as "true" in this array.
Definition at line 220 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 220 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), getCluster(), and ~ClusteringModelIntercomparison().
|
private |
Definition at line 193 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 193 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom().
|
staticprivate |
Definition at line 189 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 189 of file G4INCLClusteringModelIntercomparison.hh
Referenced by clusterCanEscape().
|
private |
Maximum mass for configuration storage.
Skipping configurations becomes inefficient above this mass.
Definition at line 316 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 316 of file G4INCLClusteringModelIntercomparison.hh
Referenced by getCluster().
|
private |
Definition at line 198 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 198 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), and getCluster().
|
private |
Definition at line 197 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 197 of file G4INCLClusteringModelIntercomparison.hh
Referenced by getCluster().
|
private |
Definition at line 192 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 192 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom().
|
private |
Definition at line 191 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 191 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom().
|
private |
Definition at line 163 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 163 of file G4INCLClusteringModelIntercomparison.hh
Referenced by ClusteringModelIntercomparison(), and findClusterStartingFrom().
|
private |
Definition at line 156 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 156 of file G4INCLClusteringModelIntercomparison.hh
Referenced by ClusteringModelIntercomparison(), findClusterStartingFrom(), and getCluster().
|
private |
Definition at line 195 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 195 of file G4INCLClusteringModelIntercomparison.hh
Referenced by ClusteringModelIntercomparison(), findClusterStartingFrom(), and getCluster().
|
private |
Definition at line 157 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 157 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), getCluster(), and getPhaseSpace().
|
private |
Definition at line 158 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 158 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), getCluster(), and getPhaseSpace().
|
private |
Definition at line 159 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 159 of file G4INCLClusteringModelIntercomparison.hh
Referenced by ClusteringModelIntercomparison(), findClusterStartingFrom(), and getCluster().
|
private |
Definition at line 168 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 168 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), and getCluster().
|
private |
Definition at line 168 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 168 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom().
|
private |
Definition at line 168 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 168 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), and getCluster().
|
private |
Definition at line 169 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 169 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), and getCluster().
|
private |
Definition at line 154 of file G4INCLClusteringModelIntercomparison.hh.
View newest version in sPHENIX GitHub at line 154 of file G4INCLClusteringModelIntercomparison.hh
Referenced by findClusterStartingFrom(), and getCluster().