FlyoDoc_2011 Pisa 2011 by GmP --- 011
|
00001 /*************************************************************************** 00002 materia.h - description 00003 ------------------- 00004 begin : Sat May 26 2001 00005 copyright : (C) 2001 by Giuseppe Pierazzini 00006 email : peppe@unipi.it 00007 ***************************************************************************/ 00008 00009 #ifndef PARTDB_H 00010 #define PARTDB_H 00011 void Crea_part_db(); 00012 00013 00014 00015 00016 class Particella; 00017 //class Reazione; 00018 00027 // Struttura per i decadimenti 00028 struct Decadimento 00029 { 00030 00031 int frammenti; 00032 double rate; 00033 const char *nomea,*nomeb,*nomec,*nomed; 00034 00035 void Define(double r,const char *naa, const char *nbb) //dec a 2 00036 { 00037 frammenti=2; 00038 rate=r; 00039 nomea=naa; 00040 nomeb=nbb; 00041 nomec=0; 00042 } 00043 void Define( double r,const char *naa, const char *nbb, const char *ncc) //dec a 3 00044 { 00045 frammenti=3; 00046 rate=r; 00047 nomea=naa; 00048 nomeb=nbb; 00049 nomec=ncc; 00050 } 00051 }; 00052 00053 class Part_db 00054 { 00055 00056 const char *nome; 00057 int id, see, charg; 00058 //id numero d'ordinr, see visibilita' 00059 double massa, width, ctau; 00060 00061 public: 00062 int ncan; 00063 Decadimento *Canale; 00064 Part_db * primo, *next; 00065 00066 Part_db (const char *ptrnome, int vis, int ch, double ms, double wd,double ct); 00067 ~Part_db(); 00068 void Controlla_rates( ); 00069 void Show(); 00070 void Notseen (const char *); 00071 const char *Ptbsdat (const char *); 00072 Part_db *Pntmatter(const char *); 00073 const char *Get_Nome() { 00074 return nome; 00075 } 00076 double Get_Massa() { 00077 return massa; 00078 } 00079 Part_db *Get_matter (const char *, Particella *); 00080 const char *Idm_Nome(int); 00081 00082 00083 00084 }; 00085 00086 00087 #if defined(MAINFLYO) 00088 Part_db *Matter=0; 00089 #endif 00090 #if !defined(MAINFLYO) 00091 extern Part_db *Matter; 00092 #endif 00093 #if defined(MAIN) 00094 const char *Gam="",*Mum="",*Mup="",*Munu=""; 00095 const char *Pic2="",*Pi02=""; 00096 const char *P00p="",*Pvv="",*Gg2="",*Ppgg=""; 00097 const char *Res="",*Res2="",*Res3="",*Res4="",*Res5=""; 00098 const char *Mumd="dmum",*Mupd="dmup"; 00099 const char *Dum="",*Dum2="",*Dlz="", *Cms="",*Booh=""; 00100 const char *Elep="", *Elec="",*Eta=""; 00101 const char *Kapm = "Km", *Kapp="Kp",*Neutrino="nu"; 00102 const char *Kapl = "Kl", *Kaps="Ks", *Kap0="K0"; 00103 const char *Pim="pim",*Pip="pip",*Pi0="pi0",*Protone="p",*Neutrone="n"; 00104 const char *Nusg="",*E4ch="",*Nug="",*Fuse="Fuse"; 00105 const char *Beam = "beam",*Bers="bers", *Char = "char"; 00106 const char *Neut = "neut", *All = "all"; 00107 const char *Pair="Pair", *Brem="Brem"; 00108 const char *Lepstar="lep*", *Gamstar="gam*"; 00109 const char *Bullet="bullet"; 00110 00111 const char *A_Kap0=0,*A_Protone=0,*A_Neutrone=0; 00112 const char *Lambda=0,*A_Lambda=0,*Uus=0,*A_Uus=0; 00113 const char *Uds=0,*A_Uds=0, *Dds=0,*A_Dds=0; 00114 const char *Uss=0,*A_Uss=0, *Dss=0,*A_Dss=0; 00115 const char *Sss=0,*A_Sss=0; 00116 00117 const char *Bari = "C.M."; 00118 // puntatori a partucelle classiche... 00119 Part_db *ptr_Gam=0,*ptr_Elec=0,*ptr_Elep=0,*ptr_Neutrino=0,*ptr_Mum=0,*ptr_Mup=0; 00120 Part_db *ptr_Neutrone=0,*ptr_Protone=0,*ptr_Pim=0,*ptr_Pip=0,*ptr_Pi0=0; 00121 Part_db *ptr_Eta=0,*ptr_Kapm=0,*ptr_Kapp=0,*ptr_Kapl=0,*ptr_Kaps=0,*ptr_Kap0=0; 00122 Part_db *ptr_Lambda=0,*ptr_A_Lambda=0; 00123 Part_db *ptr_dum=0,*ptr_boo=0; 00124 00125 Part_db *ptr_Uus=0,*ptr_A_Uus=0,*ptr_Uds=0,*ptr_A_Uds=0,*ptr_Dds=0,*ptr_A_Dds=0; 00126 Part_db *ptr_Uss=0,*ptr_A_Uss=0,*ptr_Dss=0,*ptr_A_Dss=0; 00127 Part_db *ptr_Sss=0,*ptr_A_Sss=0; 00128 00129 00130 00131 00132 #endif 00133 00134 00135 00136 #if !defined(MAIN) 00137 extern const char *Gam,*Mum,*Mup,*Munu,*Fuse; 00138 extern const char *Pic2,*Pi02; 00139 extern const char *P00p,*Pvv,*Gg2,*Ppgg; 00140 extern const char *Res,*Res2,*Res3,*Res4,*Res5; 00141 extern const char *Mumd,*Mupd; 00142 extern const char *Dum,*Dum2, *Dlz, *Cms, *Booh; 00143 extern const char *Elep, *Elec,*Eta,*Nusg,*E4ch,*Nug; 00144 extern const char *Kapm,*Kapp,*Kapl,*Kaps,*Kap0,*Neutrino; 00145 extern const char *Pim,*Pip,*Pi0,*Protone,*Neutrone; 00146 00147 extern const char *A_Kap0,*A_Protone,*A_Neutrone; 00148 extern const char *Lambda,*A_Lambda,*Uus,*A_Uus; 00149 extern const char *Uds,*A_Uds, *Dds,*A_Dds; 00150 extern const char *Uss,*A_Uss, *Dss,*A_Dss; 00151 extern const char *Sss,*A_Sss; 00152 00153 extern const char *Beam,*Bers,*Char; 00154 extern const char *Neut, *All; 00155 extern const char *Pair, *Brem; 00156 extern const char *Lepstar, *Gamstar,*Bullet; 00157 extern const char *Bari; 00158 00159 extern Part_db *ptr_Gam,*ptr_Elec,*ptr_Elep,*ptr_Neutrino,*ptr_Mum,*ptr_Mup; 00160 extern Part_db *ptr_Neutrone,*ptr_Protone,*ptr_Pim,*ptr_Pip,*ptr_Pi0; 00161 extern Part_db *ptr_Eta,*ptr_Kapm,*ptr_Kapp,*ptr_Kapl,*ptr_Kaps,*ptr_Kap0; 00162 extern Part_db *ptr_Lambda,*ptr_A_Lambda; 00163 extern Part_db *ptr_dum,*ptr_boo; 00164 00165 extern Part_db *ptr_Uus,*ptr_A_Uus,*ptr_Uds,*ptr_A_Uds,*ptr_Dds,*ptr_A_Dds; 00166 extern Part_db *ptr_Uss,*ptr_A_Uss,*ptr_Dss,*ptr_A_Dss; 00167 extern Part_db *ptr_Sss,*ptr_A_Sss; 00168 #endif 00169 00170 #endif 00171 00172 00173 00174 00175 00176 00177 00178 00179 00180 00181 00182 00183 00184 00185 00186 00187 00188 00189 00190 00191