FlyoDoc_2011 Pisa 2011 by GmP --- 011

flyopunta/src/src_dbs/part_db.h

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 
 All Classes Namespaces Files Functions Variables