23 #ifndef GW_TESTFEEDING_H
27 #ifndef GW_NUCLEARLEVEL_H
31 #ifndef GW_GAMMALINK_H
45 fE1 =
new TObjArray(
MAX_E1); fE1->SetOwner(kTRUE); fE2 =
new TObjArray(
MAX_E2); fE2->SetOwner(kTRUE);
50 for (Int_t i = 0; i <
MAX_E1; i++ ) {
53 for (Int_t i = 0; i <
MAX_E2; i++ ) {
64 delete fE1; fE1 = NULL;
delete fE2; fE2 = NULL;
72 Float_t e, e_top, e_feeding, delta;
76 delta = e_top - e_feeding;
97 if ( e > delta ) e = delta;
100 gamma =
static_cast<GammaLink *
>(fE2->At(fNbE2++));
110 if ( e > delta ) e = delta;
113 gamma =
static_cast<GammaLink *
>(fE1->At(fNbE1++));
120 }
while (delta > 0) ;
NuclearLevel fTop
Unique Rand instance.
void SetValue(Data_T data)
set the value, cannot be overloaded
header file for a NuclearLevel
header file for a GammaLink
virtual void SetEM(const char *em="E2")
to set the multipolarity
TRandom * Current() const
to get the current TRandomom object
Measure< Float_t > & GetEnergy()
virtual Int_t DoCascade(TSeqCollection &col, Option_t *opt="")
do cascade
virtual Measure< Float_t > & GetEnergy()
to get/modify the gamma-ray energy and its error
static Random * Instance()
to access the unique instance
TestFeeding()
array of E2 transitions
header file for a GEM (gamma-rays generator)
A GammaLink binds two nuclear levels.
virtual Level * SetIL(Level *initial)
to change the final level - return the previous one
Data_T GetValue() const
get the value, cannot be overloaded