00001 00015 #ifndef NUCUTIL_H 00016 #define NUCUTIL_H 00017 00018 #include <more/phys/ens.h> 00019 #include <map> 00020 #include <string> 00021 #include <vector> 00022 00023 namespace GenDecay { 00024 00025 class NucState; 00026 struct NucDecay; 00027 class Radiation; 00028 00029 double more_to_clhep_time(double more_time); 00030 double more_to_clhep_energy(double more_energy); 00031 00033 bool get_nucleus(const more::phys::nucleus& pn, more::phys::ens::nucleus& en); 00034 00037 NucState* get_state(const more::phys::nucleus& n, 00038 more::phys::ens::confiv_t hl = more::phys::ens::confiv_t(0.0,0.0), 00039 more::phys::ens::confiv_t rel = more::phys::ens::confiv_t(0.0,0.0), 00040 int ref=0.0); 00041 00043 NucState* get_ground(std::string name); 00044 00046 NucState* get_ground(more::phys::nucleus nucl); 00047 00052 void chain(NucState* mother, int depth=-1, 00053 more::phys::nucleus stop_nuc = more::phys::nucleus()); 00054 00059 typedef std::map<std::pair<NucState*,NucState*>,std::vector<NucDecay*> > NucDecayMap_t; 00060 00062 const NucDecayMap_t& get_decays(); 00063 00065 const Radiation* decay_radiation(const NucDecay& dk); 00066 00069 void dump_dataset(const more::phys::ens::dataset& ds); 00070 00071 } 00072 00073 #endif // NUCUTIL_H