37 #ifndef G4CASCADE_COALESCENCE_HH
38 #define G4CASCADE_COALESCENCE_HH
86 void tryClusters(
size_t idx1,
size_t idx2,
size_t idx3);
87 void tryClusters(
size_t idx1,
size_t idx2,
size_t idx3,
size_t idx4);
91 void fillCluster(
size_t idx1,
size_t idx2,
size_t idx3);
92 void fillCluster(
size_t idx1,
size_t idx2,
size_t idx3,
size_t idx4);
95 size_t clusterHash(
const ClusterCandidate& clus)
const;
99 return triedClusters.find(
clusterHash(clus)) != triedClusters.end();
104 return usedNucleons.find(idx) != usedNucleons.end();
108 bool allNucleons(
const ClusterCandidate& clus)
const;
109 bool goodCluster(
const ClusterCandidate& clus)
const;
114 return (*thisHadrons)[idx];
const G4double dpMaxTriplet
bool allNucleons(const ClusterCandidate &clus) const
void setVerboseLevel(G4int verbose)
size_t clusterHash(const ClusterCandidate &clus) const
std::vector< size_t > ClusterCandidate
std::set< size_t > triedClusters
G4double maxDeltaP(const ClusterCandidate &aCluster) const
bool makeLightIon(const ClusterCandidate &aCluster)
std::set< size_t > usedNucleons
void reportArgs(const G4String &name, const ClusterCandidate &clus) const
bool goodCluster(const ClusterCandidate &clus) const
std::vector< ClusterCandidate > allClusters
const std::vector< G4InuclElementaryParticle > * thisHadrons
G4CollisionOutput * thisFinalState
const G4InuclElementaryParticle & getHadron(size_t idx) const
bool nucleonUsed(size_t idx) const
G4int clusterType(const ClusterCandidate &aCluster) const
G4InuclNuclei thisLightIon
void reportResult(const G4String &name, const G4InuclNuclei &nucl) const
bool clusterTried(const ClusterCandidate &clus) const
const G4double dpMaxAlpha
G4CascadeCoalescence(G4int verbose=0)
void tryClusters(size_t idx1, size_t idx2)
ClusterCandidate thisCluster
void FindClusters(G4CollisionOutput &finalState)
const G4double dpMaxDoublet
virtual ~G4CascadeCoalescence()
G4LorentzVector getClusterMomentum(const ClusterCandidate &aCluster) const
CLHEP::HepLorentzVector G4LorentzVector
void fillCluster(size_t idx1, size_t idx2)