00001 #include <vector> 00002 00003 enum IsotopeSource { CAPTURE, BACKGROUND }; 00004 00005 struct AtomicLevel { 00006 unsigned int n; 00007 char l; 00008 unsigned int j[2]; 00009 }; 00010 00011 struct Element { 00012 TString name; 00013 TString symbol; 00014 UInt_t z; 00015 }; 00016 00017 struct Isotope : Element { 00018 UInt_t a; 00019 }; 00020 00021 struct PhotonEmitter { 00022 std::vector<Double_t> E; 00023 std::vector<Double_t> I; 00024 }; 00025 00026 struct GammaSource : PhotonEmitter, Isotope { 00027 IsotopeSource type; 00028 Double_t lt; 00029 }; 00030 00031 struct XraySource : PhotonEmitter, Element { 00032 }; 00033 00034 struct DecayChain { 00035 std::vector<GammaSource> stages; 00036 std::vector< std::vector<double> > daughters; 00037 }; 00038 00039 std::vector<GammaSource> load_natural(const char* ifname) { 00040 00041 00042 void ge_energy_calib() { 00043 return; 00044 }