Geant4  10.02.p03
G4CascadeCoalescence Class Reference

#include <G4CascadeCoalescence.hh>

Collaboration diagram for G4CascadeCoalescence:

Public Member Functions

 G4CascadeCoalescence (G4int verbose=0)
 
virtual ~G4CascadeCoalescence ()
 
void FindClusters (G4CollisionOutput &finalState)
 
void setVerboseLevel (G4int verbose)
 

Private Types

typedef std::vector< size_t > ClusterCandidate
 

Private Member Functions

void selectCandidates ()
 
void createNuclei ()
 
void removeNucleons ()
 
void tryClusters (size_t idx1, size_t idx2)
 
void tryClusters (size_t idx1, size_t idx2, size_t idx3)
 
void tryClusters (size_t idx1, size_t idx2, size_t idx3, size_t idx4)
 
void fillCluster (size_t idx1, size_t idx2)
 
void fillCluster (size_t idx1, size_t idx2, size_t idx3)
 
void fillCluster (size_t idx1, size_t idx2, size_t idx3, size_t idx4)
 
size_t clusterHash (const ClusterCandidate &clus) const
 
bool clusterTried (const ClusterCandidate &clus) const
 
bool nucleonUsed (size_t idx) const
 
bool allNucleons (const ClusterCandidate &clus) const
 
bool goodCluster (const ClusterCandidate &clus) const
 
G4int clusterType (const ClusterCandidate &aCluster) const
 
const G4InuclElementaryParticlegetHadron (size_t idx) const
 
bool makeLightIon (const ClusterCandidate &aCluster)
 
G4LorentzVector getClusterMomentum (const ClusterCandidate &aCluster) const
 
G4double maxDeltaP (const ClusterCandidate &aCluster) const
 
void reportArgs (const G4String &name, const ClusterCandidate &clus) const
 
void reportResult (const G4String &name, const G4InuclNuclei &nucl) const
 

Private Attributes

G4int verboseLevel
 
std::vector< ClusterCandidateallClusters
 
std::set< size_t > triedClusters
 
std::set< size_t > usedNucleons
 
G4CollisionOutputthisFinalState
 
const std::vector< G4InuclElementaryParticle > * thisHadrons
 
ClusterCandidate thisCluster
 
G4InuclNuclei thisLightIon
 
const G4double dpMaxDoublet
 
const G4double dpMaxTriplet
 
const G4double dpMaxAlpha
 
G4LorentzVector pCluster
 

Detailed Description

Definition at line 51 of file G4CascadeCoalescence.hh.

Member Typedef Documentation

◆ ClusterCandidate

typedef std::vector<size_t> G4CascadeCoalescence::ClusterCandidate
private

Definition at line 62 of file G4CascadeCoalescence.hh.

Constructor & Destructor Documentation

◆ G4CascadeCoalescence()

G4CascadeCoalescence::G4CascadeCoalescence ( G4int  verbose = 0)

Definition at line 70 of file G4CascadeCoalescence.cc.

◆ ~G4CascadeCoalescence()

G4CascadeCoalescence::~G4CascadeCoalescence ( )
virtual

Definition at line 76 of file G4CascadeCoalescence.cc.

76 {}

Member Function Documentation

◆ allNucleons()

bool G4CascadeCoalescence::allNucleons ( const ClusterCandidate clus) const
private

Definition at line 335 of file G4CascadeCoalescence.cc.

335  {
336  bool result = true;
337  for (size_t i=0; i<clus.size(); i++)
338  result &= getHadron(clus[0]).nucleon();
339  return result;
340 }
const G4InuclElementaryParticle & getHadron(size_t idx) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clusterHash()

size_t G4CascadeCoalescence::clusterHash ( const ClusterCandidate clus) const
private

Definition at line 297 of file G4CascadeCoalescence.cc.

297  {
298  G4int hash = 0;
299  for (size_t i=0; i<aCluster.size(); i++) {
300  hash = hash*1000 + aCluster[i]; // FIXME: Use hadron list size instead?
301  }
302 
303  return hash;
304 }
int G4int
Definition: G4Types.hh:78
static unsigned long FASTCALL hash(XML_Parser parser, KEY s)
Definition: xmlparse.cc:5967
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clusterTried()

bool G4CascadeCoalescence::clusterTried ( const ClusterCandidate clus) const
inlineprivate

Definition at line 99 of file G4CascadeCoalescence.hh.

99  {
100  return triedClusters.find(clusterHash(clus)) != triedClusters.end();
101  }
std::set< size_t > triedClusters
size_t clusterHash(const ClusterCandidate &clus) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clusterType()

G4int G4CascadeCoalescence::clusterType ( const ClusterCandidate aCluster) const
private

Definition at line 284 of file G4CascadeCoalescence.cc.

284  {
285  G4int type = 0;
286  for (size_t i=0; i<aCluster.size(); i++) {
287  const G4InuclElementaryParticle& had = getHadron(aCluster[i]);
288  type += had.nucleon() ? had.type() : 0;
289  }
290 
291  return type;
292 }
const G4InuclElementaryParticle & getHadron(size_t idx) const
int G4int
Definition: G4Types.hh:78
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createNuclei()

void G4CascadeCoalescence::createNuclei ( )
private

Definition at line 215 of file G4CascadeCoalescence.cc.

215  {
216  if (verboseLevel)
217  G4cout << " >>> G4CascadeCoalescence::createNuclei()" << G4endl;
218 
219  usedNucleons.clear();
220 
221  for (size_t i=0; i<allClusters.size(); i++) {
222  if (verboseLevel>1) G4cout << " attempting candidate #" << i << G4endl;
223 
224  const ClusterCandidate& cand = allClusters[i];
225  if (makeLightIon(cand)) { // Success, put ion in output
227  usedNucleons.insert(cand.begin(), cand.end());
228  }
229  }
230 }
std::vector< size_t > ClusterCandidate
bool makeLightIon(const ClusterCandidate &aCluster)
std::set< size_t > usedNucleons
std::vector< ClusterCandidate > allClusters
G4CollisionOutput * thisFinalState
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void addOutgoingNucleus(const G4InuclNuclei &nuclei)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fillCluster() [1/3]

void G4CascadeCoalescence::fillCluster ( size_t  idx1,
size_t  idx2 
)
private

Definition at line 309 of file G4CascadeCoalescence.cc.

309  {
310  thisCluster.clear();
311  thisCluster.push_back(idx1);
312  thisCluster.push_back(idx2);
313 }
ClusterCandidate thisCluster
Here is the caller graph for this function:

◆ fillCluster() [2/3]

void G4CascadeCoalescence::fillCluster ( size_t  idx1,
size_t  idx2,
size_t  idx3 
)
private

Definition at line 315 of file G4CascadeCoalescence.cc.

315  {
316  thisCluster.clear();
317  thisCluster.push_back(idx1);
318  thisCluster.push_back(idx2);
319  thisCluster.push_back(idx3);
320 }
ClusterCandidate thisCluster

◆ fillCluster() [3/3]

void G4CascadeCoalescence::fillCluster ( size_t  idx1,
size_t  idx2,
size_t  idx3,
size_t  idx4 
)
private

Definition at line 322 of file G4CascadeCoalescence.cc.

323  {
324  thisCluster.clear();
325  thisCluster.push_back(idx1);
326  thisCluster.push_back(idx2);
327  thisCluster.push_back(idx3);
328  thisCluster.push_back(idx4);
329 }
ClusterCandidate thisCluster

◆ FindClusters()

void G4CascadeCoalescence::FindClusters ( G4CollisionOutput finalState)

Definition at line 81 of file G4CascadeCoalescence.cc.

81  {
82  if (verboseLevel)
83  G4cout << " >>> G4CascadeCoalescence::FindClusters()" << G4endl;
84 
85  thisFinalState = &finalState; // Save pointers for use in processing
86  thisHadrons = &finalState.getOutgoingParticles();
87 
89 
91  createNuclei();
93 
95 }
const std::vector< G4InuclElementaryParticle > & getOutgoingParticles() const
const std::vector< G4InuclElementaryParticle > * thisHadrons
G4CollisionOutput * thisFinalState
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void printCollisionOutput(std::ostream &os=G4cout) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getClusterMomentum()

G4LorentzVector G4CascadeCoalescence::getClusterMomentum ( const ClusterCandidate aCluster) const
private

Definition at line 251 of file G4CascadeCoalescence.cc.

251  {
252  pCluster.set(0.,0.,0.,0.);
253  for (size_t i=0; i<aCluster.size(); i++)
254  pCluster += getHadron(aCluster[i]).getMomentum();
255 
256  return pCluster;
257 }
G4LorentzVector getMomentum() const
const G4InuclElementaryParticle & getHadron(size_t idx) const
void set(double x, double y, double z, double t)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getHadron()

const G4InuclElementaryParticle& G4CascadeCoalescence::getHadron ( size_t  idx) const
inlineprivate

Definition at line 114 of file G4CascadeCoalescence.hh.

114  {
115  return (*thisHadrons)[idx];
116  }
const std::vector< G4InuclElementaryParticle > * thisHadrons
Here is the call graph for this function:
Here is the caller graph for this function:

◆ goodCluster()

bool G4CascadeCoalescence::goodCluster ( const ClusterCandidate clus) const
private

Definition at line 345 of file G4CascadeCoalescence.cc.

345  {
346  if (verboseLevel>2) reportArgs("goodCluster?",clus);
347 
348  if (!allNucleons(clus)) return false;
349 
350  if (clus.size() == 2) // Deuterons (pn)
351  return (clusterType(clus) == 3 && maxDeltaP(clus) < dpMaxDoublet);
352 
353  if (clus.size() == 3) // Tritons or He-3
354  return ((clusterType(clus) == 4 || clusterType(clus) == 5) // ppn OR pnn
355  && maxDeltaP(clus) < dpMaxTriplet);
356 
357  if (clus.size() == 4) // Alphas (ppnn)
358  return (clusterType(clus) == 6 && maxDeltaP(clus) < dpMaxAlpha);
359 
360  return false;
361 }
G4double maxDeltaP(const ClusterCandidate &aCluster) const
void reportArgs(const G4String &name, const ClusterCandidate &clus) const
G4int clusterType(const ClusterCandidate &aCluster) const
bool allNucleons(const ClusterCandidate &clus) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeLightIon()

bool G4CascadeCoalescence::makeLightIon ( const ClusterCandidate aCluster)
private

Definition at line 367 of file G4CascadeCoalescence.cc.

367  {
368  if (verboseLevel>1) reportArgs("makeLightIon",aCluster);
369 
370  thisLightIon.clear(); // Initialize nucleus buffer before filling
371 
372  if (aCluster.size()<2) return false; // Sanity check
373 
374  G4int A = aCluster.size();
375  G4int Z = -1;
376 
377  G4int type = clusterType(aCluster);
378  if (A==2 && type==3) Z = 1; // Deuteron (pn)
379  if (A==3 && type==5) Z = 1; // Triton (pnn)
380  if (A==3 && type==4) Z = 2; // He-3 (ppn)
381  if (A==4 && type==6) Z = 2; // He-4/alpha (ppnn)
382 
383  if (Z < 0) return false; // Invalid cluster content
384 
385  // NOTE: Four-momentum will not be conserved due to binding energy
386  thisLightIon.fill(getClusterMomentum(aCluster), A, Z, 0.,
388 
389  if (verboseLevel>1) reportResult("makeLightIon output",thisLightIon);
390  return true;
391 }
void fill(G4int a, G4int z, G4double exc=0., Model model=DefaultModel)
void reportResult(const G4String &name, const G4InuclNuclei &nucl) const
void reportArgs(const G4String &name, const ClusterCandidate &clus) const
int G4int
Definition: G4Types.hh:78
G4int clusterType(const ClusterCandidate &aCluster) const
double A(double temperature)
Float_t Z
G4LorentzVector getClusterMomentum(const ClusterCandidate &aCluster) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ maxDeltaP()

G4double G4CascadeCoalescence::maxDeltaP ( const ClusterCandidate aCluster) const
private

Definition at line 262 of file G4CascadeCoalescence.cc.

262  {
263  if (verboseLevel>1) reportArgs("maxDeltaP", aCluster);
264 
266 
267  G4double dp, maxDP = -1.;
268  for (size_t i=0; i<aCluster.size(); i++) {
269  const G4InuclElementaryParticle& nucl = getHadron(aCluster[i]);
270 
271  // NOTE: getMomentum() returns by value, event kinematics are not changed
272  if ((dp = nucl.getMomentum().boost(-boost).rho()) > maxDP) maxDP = dp;
273  }
274 
275  if (verboseLevel>1) G4cout << " maxDP = " << maxDP << G4endl;
276 
277  return maxDP;
278 }
G4LorentzVector getMomentum() const
void reportArgs(const G4String &name, const ClusterCandidate &clus) const
const G4InuclElementaryParticle & getHadron(size_t idx) const
G4GLOB_DLL std::ostream G4cout
HepLorentzVector & boost(double, double, double)
Hep3Vector boostVector() const
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
G4LorentzVector getClusterMomentum(const ClusterCandidate &aCluster) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nucleonUsed()

bool G4CascadeCoalescence::nucleonUsed ( size_t  idx) const
inlineprivate

Definition at line 104 of file G4CascadeCoalescence.hh.

104  {
105  return usedNucleons.find(idx) != usedNucleons.end();
106  }
std::set< size_t > usedNucleons
Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeNucleons()

void G4CascadeCoalescence::removeNucleons ( )
private

Definition at line 235 of file G4CascadeCoalescence.cc.

235  {
236  if (verboseLevel>1)
237  G4cout << " >>> G4CascadeCoalescence::removeNucleons()" << G4endl;
238 
239  // Remove nucleons from output from last to first (to preserve indexing)
240  std::set<size_t>::reverse_iterator usedIter;
241  for (usedIter = usedNucleons.rbegin(); usedIter != usedNucleons.rend(); ++usedIter)
243 
244  usedNucleons.clear();
245 }
std::set< size_t > usedNucleons
G4CollisionOutput * thisFinalState
G4GLOB_DLL std::ostream G4cout
void removeOutgoingParticle(G4int index)
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reportArgs()

void G4CascadeCoalescence::reportArgs ( const G4String name,
const ClusterCandidate clus 
) const
private

Definition at line 396 of file G4CascadeCoalescence.cc.

397  {
398  G4cout << " >>> G4CascadeCoalescence::" << name << " ";
399  std::copy(aCluster.begin(), aCluster.end(),
400  std::ostream_iterator<size_t>(G4cout, " "));
401  G4cout << G4endl;
402 
403  if (verboseLevel>2) {
404  for (size_t i=0; i<aCluster.size(); i++)
405  G4cout << getHadron(aCluster[i]) << G4endl;
406  }
407 }
const G4InuclElementaryParticle & getHadron(size_t idx) const
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reportResult()

void G4CascadeCoalescence::reportResult ( const G4String name,
const G4InuclNuclei nucl 
) const
private

Definition at line 409 of file G4CascadeCoalescence.cc.

410  {
411  G4cout << " >>> G4CascadeCoalescence::" << name << G4endl << nucl << G4endl;
412 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
Here is the caller graph for this function:

◆ selectCandidates()

void G4CascadeCoalescence::selectCandidates ( )
private

Definition at line 100 of file G4CascadeCoalescence.cc.

100  {
101  if (verboseLevel)
102  G4cout << " >>> G4CascadeCoalescence::selectCandidates()" << G4endl;
103 
104  triedClusters.clear();
105  allClusters.clear();
106  usedNucleons.clear();
107 
108  size_t nHad = thisHadrons->size();
109  for (size_t idx1=0; idx1<nHad; idx1++) {
110  if (!getHadron(idx1).nucleon()) continue;
111  for (size_t idx2=idx1+1; idx2<nHad; idx2++) {
112  if (!getHadron(idx2).nucleon()) continue;
113  for (size_t idx3=idx2+1; idx3<nHad; idx3++) {
114  if (!getHadron(idx3).nucleon()) continue;
115  for (size_t idx4=idx3+1; idx4<nHad; idx4++) {
116  if (!getHadron(idx4).nucleon()) continue;
117  tryClusters(idx1, idx2, idx3, idx4);
118  }
119  tryClusters(idx1, idx2, idx3); // If idx4 loop was empty
120  }
121  tryClusters(idx1, idx2); // If idx3 loop was empty
122  }
123  }
124 
125  // All potential candidates built; report statistics
126  if (verboseLevel>1) {
127  G4cout << " Found " << allClusters.size() << " candidates, using "
128  << usedNucleons.size() << " nucleons" << G4endl;
129  }
130 }
std::set< size_t > triedClusters
const G4InuclElementaryParticle & getHadron(size_t idx) const
std::set< size_t > usedNucleons
std::vector< ClusterCandidate > allClusters
const std::vector< G4InuclElementaryParticle > * thisHadrons
G4GLOB_DLL std::ostream G4cout
G4bool nucleon(G4int ityp)
void tryClusters(size_t idx1, size_t idx2)
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setVerboseLevel()

void G4CascadeCoalescence::setVerboseLevel ( G4int  verbose)
inline

Definition at line 59 of file G4CascadeCoalescence.hh.

59 { verboseLevel = verbose; }
Here is the caller graph for this function:

◆ tryClusters() [1/3]

void G4CascadeCoalescence::tryClusters ( size_t  idx1,
size_t  idx2 
)
private

Definition at line 192 of file G4CascadeCoalescence.cc.

192  {
193  if (nucleonUsed(idx1) || nucleonUsed(idx2)) return;
194 
195  fillCluster(idx1,idx2);
196  if (clusterTried(thisCluster)) return;
197 
198  if (verboseLevel>1)
199  G4cout << " >>> G4CascadeCoalescence::tryClusters " << idx1 << " " << idx2
200  << G4endl;
201 
202  triedClusters.insert(clusterHash(thisCluster)); // Remember current attempt
203 
204  fillCluster(idx1,idx2);
205  if (goodCluster(thisCluster)) {
206  allClusters.push_back(thisCluster);
207  usedNucleons.insert(idx1);
208  usedNucleons.insert(idx2);
209  }
210 }
bool nucleonUsed(size_t idx) const
std::set< size_t > triedClusters
bool goodCluster(const ClusterCandidate &clus) const
std::set< size_t > usedNucleons
std::vector< ClusterCandidate > allClusters
bool clusterTried(const ClusterCandidate &clus) const
G4GLOB_DLL std::ostream G4cout
ClusterCandidate thisCluster
#define G4endl
Definition: G4ios.hh:61
size_t clusterHash(const ClusterCandidate &clus) const
void fillCluster(size_t idx1, size_t idx2)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tryClusters() [2/3]

void G4CascadeCoalescence::tryClusters ( size_t  idx1,
size_t  idx2,
size_t  idx3 
)
private

Definition at line 165 of file G4CascadeCoalescence.cc.

165  {
166  fillCluster(idx1,idx2,idx3);
167  if (clusterTried(thisCluster)) return;
168 
169  if (verboseLevel>1)
170  G4cout << " >>> G4CascadeCoalescence::tryClusters " << idx1 << " " << idx2
171  << " " << idx3 << G4endl;
172 
173  triedClusters.insert(clusterHash(thisCluster)); // Remember current attempt
174 
175  if (!nucleonUsed(idx1) && !nucleonUsed(idx2) && !nucleonUsed(idx3)) {
176  fillCluster(idx1,idx2,idx3);
177  if (goodCluster(thisCluster)) {
178  allClusters.push_back(thisCluster);
179  usedNucleons.insert(idx1);
180  usedNucleons.insert(idx2);
181  usedNucleons.insert(idx3);
182  return;
183  }
184  }
185 
186  tryClusters(idx2,idx3); // Try constituent subclusters
187  tryClusters(idx1,idx3);
188  tryClusters(idx1,idx2);
189 }
bool nucleonUsed(size_t idx) const
std::set< size_t > triedClusters
bool goodCluster(const ClusterCandidate &clus) const
std::set< size_t > usedNucleons
std::vector< ClusterCandidate > allClusters
bool clusterTried(const ClusterCandidate &clus) const
G4GLOB_DLL std::ostream G4cout
void tryClusters(size_t idx1, size_t idx2)
ClusterCandidate thisCluster
#define G4endl
Definition: G4ios.hh:61
size_t clusterHash(const ClusterCandidate &clus) const
void fillCluster(size_t idx1, size_t idx2)
Here is the call graph for this function:

◆ tryClusters() [3/3]

void G4CascadeCoalescence::tryClusters ( size_t  idx1,
size_t  idx2,
size_t  idx3,
size_t  idx4 
)
private

Definition at line 135 of file G4CascadeCoalescence.cc.

136  {
137  fillCluster(idx1,idx2,idx3,idx4);
138  if (clusterTried(thisCluster)) return;
139 
140  if (verboseLevel>1)
141  G4cout << " >>> G4CascadeCoalescence::tryClusters " << idx1 << " " << idx2
142  << " " << idx3 << " " << idx4 << G4endl;
143 
144  triedClusters.insert(clusterHash(thisCluster)); // Remember current attempt
145 
146  if (!nucleonUsed(idx1) && !nucleonUsed(idx2) &&
147  !nucleonUsed(idx3) && !nucleonUsed(idx4)) {
148  if (goodCluster(thisCluster)) {
149  allClusters.push_back(thisCluster);
150  usedNucleons.insert(idx1);
151  usedNucleons.insert(idx2);
152  usedNucleons.insert(idx3);
153  usedNucleons.insert(idx4);
154  return;
155  }
156  }
157 
158  tryClusters(idx2,idx3,idx4); // Try constituent subclusters
159  tryClusters(idx1,idx3,idx4);
160  tryClusters(idx1,idx2,idx4);
161  tryClusters(idx1,idx2,idx3);
162 }
bool nucleonUsed(size_t idx) const
std::set< size_t > triedClusters
bool goodCluster(const ClusterCandidate &clus) const
std::set< size_t > usedNucleons
std::vector< ClusterCandidate > allClusters
bool clusterTried(const ClusterCandidate &clus) const
G4GLOB_DLL std::ostream G4cout
void tryClusters(size_t idx1, size_t idx2)
ClusterCandidate thisCluster
#define G4endl
Definition: G4ios.hh:61
size_t clusterHash(const ClusterCandidate &clus) const
void fillCluster(size_t idx1, size_t idx2)
Here is the call graph for this function:

Member Data Documentation

◆ allClusters

std::vector<ClusterCandidate> G4CascadeCoalescence::allClusters
private

Definition at line 66 of file G4CascadeCoalescence.hh.

◆ dpMaxAlpha

const G4double G4CascadeCoalescence::dpMaxAlpha
private

Definition at line 78 of file G4CascadeCoalescence.hh.

◆ dpMaxDoublet

const G4double G4CascadeCoalescence::dpMaxDoublet
private

Definition at line 76 of file G4CascadeCoalescence.hh.

◆ dpMaxTriplet

const G4double G4CascadeCoalescence::dpMaxTriplet
private

Definition at line 77 of file G4CascadeCoalescence.hh.

◆ pCluster

G4LorentzVector G4CascadeCoalescence::pCluster
mutableprivate

Definition at line 123 of file G4CascadeCoalescence.hh.

◆ thisCluster

ClusterCandidate G4CascadeCoalescence::thisCluster
private

Definition at line 73 of file G4CascadeCoalescence.hh.

◆ thisFinalState

G4CollisionOutput* G4CascadeCoalescence::thisFinalState
private

Definition at line 70 of file G4CascadeCoalescence.hh.

◆ thisHadrons

const std::vector<G4InuclElementaryParticle>* G4CascadeCoalescence::thisHadrons
private

Definition at line 71 of file G4CascadeCoalescence.hh.

◆ thisLightIon

G4InuclNuclei G4CascadeCoalescence::thisLightIon
private

Definition at line 74 of file G4CascadeCoalescence.hh.

◆ triedClusters

std::set<size_t> G4CascadeCoalescence::triedClusters
private

Definition at line 67 of file G4CascadeCoalescence.hh.

◆ usedNucleons

std::set<size_t> G4CascadeCoalescence::usedNucleons
private

Definition at line 68 of file G4CascadeCoalescence.hh.

◆ verboseLevel

G4int G4CascadeCoalescence::verboseLevel
private

Definition at line 64 of file G4CascadeCoalescence.hh.


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