38 : theChannels(nullptr), nChannels(0)
45 if(avector != theChannels) {
47 theChannels = avector;
50 nChannels = theChannels->size();
51 probabilities.resize(nChannels, 0.0);
54 probabilities.clear();
61 for (
G4int i=0; i<nChannels; ++i) {
62 (*theChannels)[i]->SetOPTxs(opt);
69 for (
G4int i=0; i< nChannels; ++i) {
70 (*theChannels)[i]->UseSICB(use);
80 for (
G4int i=0; i< nChannels; ++i) {
81 (*theChannels)[i]->Initialize(aFragment);
82 G4double prob = ((*theChannels)[i]->IsItPossible(aFragment))
83 ? (*theChannels)[i]->CalcEmissionProbability(aFragment)
86 probabilities[i] = probtot;
99 for (; i<nChannels; ++i) {
100 if(x <= probabilities[i]) {
break; }
102 return (*theChannels)[i];
std::vector< G4VPreCompoundFragment * > pcfvector
G4PreCompoundFragmentVector(pcfvector *avector)
G4VPreCompoundFragment * ChooseFragment()
void SetVector(pcfvector *avector)
G4double CalculateProbabilities(const G4Fragment &aFragment)