39#ifndef G4CASCADE_COALESCENCE_HH
40#define G4CASCADE_COALESCENCE_HH
87 void tryClusters(
size_t idx1,
size_t idx2,
size_t idx3);
88 void tryClusters(
size_t idx1,
size_t idx2,
size_t idx3,
size_t idx4);
92 void fillCluster(
size_t idx1,
size_t idx2,
size_t idx3);
93 void fillCluster(
size_t idx1,
size_t idx2,
size_t idx3,
size_t idx4);
std::vector< ClusterCandidate > allClusters
G4LorentzVector getClusterMomentum(const ClusterCandidate &aCluster) const
std::vector< size_t > ClusterCandidate
void FindClusters(G4CollisionOutput &finalState)
bool makeLightIon(const ClusterCandidate &aCluster)
ClusterCandidate thisCluster
const G4double dpMaxAlpha
std::set< size_t > usedNucleons
const G4InuclElementaryParticle & getHadron(size_t idx) const
const G4double dpMaxTriplet
G4CascadeCoalescence(G4int verbose=0)
void tryClusters(size_t idx1, size_t idx2)
void setVerboseLevel(G4int verbose)
const G4double dpMaxDoublet
virtual ~G4CascadeCoalescence()
bool goodCluster(const ClusterCandidate &clus) const
void reportArgs(const G4String &name, const ClusterCandidate &clus) const
const std::vector< G4InuclElementaryParticle > * thisHadrons
G4InuclNuclei thisLightIon
void reportResult(const G4String &name, const G4InuclNuclei &nucl) const
G4int clusterType(const ClusterCandidate &aCluster) const
void fillCluster(size_t idx1, size_t idx2)
bool allNucleons(const ClusterCandidate &clus) const
G4double maxDeltaP(const ClusterCandidate &aCluster) const
G4CollisionOutput * thisFinalState
bool nucleonUsed(size_t idx) const
const char * name(G4int ptype)