46#define G4NUCLEVEL_HH 1
57 const std::vector<G4int>& vTrans,
58 const std::vector<G4float>& wLevelGamma,
59 const std::vector<G4float>& wGamma,
60 const std::vector<G4float>& vRatio,
61 const std::vector<
const std::vector<G4float>*>& wShell);
83 inline const std::vector<G4float>*
ShellProbabilty(std::size_t idx)
const;
98 std::vector<G4int> fTrans;
99 std::vector<G4float> fGammaCumProbability;
100 std::vector<G4float> fGammaProbability;
101 std::vector<G4float> fMpRatio;
102 std::vector<const std::vector<G4float>*> fShellProbability;
112 return (std::size_t)(fTrans[idx]/10000);
117 return fTrans[idx]%10000;
127 return fGammaProbability[idx];
132 return fGammaCumProbability[idx];
137 return fMpRatio[idx];
144 for(; idx<length; ++idx) {
145 if(x <= fGammaCumProbability[idx]) {
break; }
153 const std::vector<G4float>* prob = fShellProbability[idx];
155 if(
nullptr != prob) {
158 for(i=0; i<nn; ++i) {
if(x <= (*prob)[i]) {
break; } }
163inline const std::vector<G4float>*
166 return fShellProbability[idx];
const G4NucLevel & operator=(const G4NucLevel &right)=delete
std::size_t NumberOfTransitions() const
std::size_t SampleGammaTransition(G4double rndm) const
G4float MultipolarityRatio(std::size_t idx) const
G4NucLevel(const G4NucLevel &right)=delete
G4bool operator<(const G4NucLevel &right) const =delete
void StreamInfo(std::ostream &os) const
G4float GammaCumProbability(std::size_t idx) const
G4int SampleShell(std::size_t idx, G4double rndm) const
G4float GammaProbability(std::size_t idx) const
std::size_t FinalExcitationIndex(std::size_t idx) const
G4bool operator!=(const G4NucLevel &right) const =delete
G4int TransitionType(std::size_t idx) const
G4bool operator==(const G4NucLevel &right) const =delete
G4double GetTimeGamma() const
const std::vector< G4float > * ShellProbabilty(std::size_t idx) const