|
Geant4
10.04
|
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 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) |
| G4double | getPhaseSpace (const G4int oldA, ConsideredPartner const &p) |
Static Private Attributes | |
| static const G4int | clusterZMin [ParticleTable::maxClusterMass+1] |
| Lower limit of Z for cluster of mass A. More... | |
| static const G4int | clusterZMax [ParticleTable::maxClusterMass+1] |
| Upper limit of Z for cluster of mass A. More... | |
| static const G4double | clusterPosFact [ParticleTable::maxClusterMass+1] |
| Precomputed factor 1.0/A. More... | |
| static const G4double | clusterPosFact2 [ParticleTable::maxClusterMass+1] |
| Precomputed factor (1.0/A)^2. More... | |
| static const G4double | clusterPhaseSpaceCut [ParticleTable::maxClusterMass+1] |
| Phase-space parameters for cluster formation. More... | |
| static const G4double | limitCosEscapeAngle |
Cluster coalescence algorithm used in the IAEA intercomparison.
|
private |
|
private |
| ClusteringModelIntercomparison | ( | Config const *const | theConfig | ) |
References ClusteringModelIntercomparison::candidateConfiguration, ClusteringModelIntercomparison::clusterNMaxAll, ClusteringModelIntercomparison::clusterZMax, ClusteringModelIntercomparison::clusterZMaxAll, ClusteringModelIntercomparison::clusterZMin, G4INCL::ParticleTable::maxClusterMass, ClusteringModelIntercomparison::runningConfiguration, ClusteringModelIntercomparison::runningEnergies, ClusteringModelIntercomparison::runningMaxClusterAlgorithmMass, and ClusteringModelIntercomparison::runningPotentials.
|
virtual |
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 IClusteringModel.
Determine whether cluster can escape or not.
Implements IClusteringModel.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
Lower limit of Z for cluster of mass A.
Referenced by ClusteringModelIntercomparison::ClusteringModelIntercomparison().
|
staticprivate |
Upper limit of Z for cluster of mass A.
Referenced by ClusteringModelIntercomparison::ClusteringModelIntercomparison().
|
staticprivate |
Precomputed factor 1.0/A.
|
staticprivate |
Precomputed factor (1.0/A)^2.
|
staticprivate |
Phase-space parameters for cluster formation.
|
private |
|
private |
|
private |
|
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.
Referenced by ClusteringModelIntercomparison::~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.
Referenced by ClusteringModelIntercomparison::~ClusteringModelIntercomparison().
|
private |
Best cluster configuration.
This array contains pointers to the nucleons which make up the best cluster configuration that has been found so far.
Referenced by ClusteringModelIntercomparison::ClusteringModelIntercomparison().
|
private |
Array of containers for configurations that have already been checked.
|
private |
Maximum mass for configuration storage.
Skipping configurations becomes inefficient above this mass.