FlyoDoc_2011 Pisa 2011 by GmP --- 011
|
00001 /*************************************************************************** 00002 gdevfis.cpp - description 00003 ------------------- 00004 begin : Sun Nov 26 2000 00005 copyright : (C) 2000 by Giuseppe m Pierazzini 00006 email : pierazzini@unipi.it 00007 *************************************************************************** 00008 * * 00009 * NA48 simulation program. * 00010 * * 00011 ***************************************************************************/ 00012 00013 00014 // 00015 // Fisica Pisa 4- 11-2000 GmP 00016 // 00017 #define FISICA 00018 00019 #define APRI 0 00020 #define RIEMPI 1 00021 #define CHIUDI 2 00022 00023 00024 #define NEUTRI 1 00025 #define CARICHI 2 00026 #define ALLCHR 3 00027 #include "flyoh.h" 00028 #include "flyoana.h" 00029 00030 00031 00032 //------------------------------------------------------------- 00033 // F i t s C o n t r o l 00034 //------------------------------------------------------------- 00035 void FitsControl(int caso) 00036 { 00037 // caso 0 inizializza 00038 // caso 1 fits 00039 // caso 2 summary 00040 00041 00042 Analisi *ana; 00043 00044 00045 // int ht,hts; 00046 int ko=0; 00047 00048 switch (caso) 00049 { 00050 case APRI: 00051 //int K4g,K6g,K2p,K3p,K3l,Ka2pi,Pi2g,E2g,E6g,K2p2g,Bea; 00052 //int Kenu,Kpc2g,Kpcp0,Kpcp0g,Kpc2p0,K2p0enu,K2pcenu,Kpc3g; 00053 00054 if(K4g>0) Ak4gam = new AnaK4g; // tipo 1 00055 if(K6g>0) Ak6gam = new AnaK6g; // tipo 2 00056 if(K2p>0) Ak2pi = new AnaK2pi; // tipo 3 00057 if(K3p>0) Ak3pi = new AnaK3pi; // tipo 4 00058 if(Kl2>0) Akl2 = new AnaKl2; // tipo 23 00059 if(Ke2g>0) Ake2g = new AnaKe2g; // tipo 24 00060 if(Kpivv>0) Akpivv = new AnaKpivv; // tipo 25 00061 if(Kmunu>0) Akmunu = new AnaKmunu; // tipo 29 00062 if(Kpip0>0) Akpip0 = new AnaKpip0; // tipo 28 00063 if(Kpip0ee>0) Akpip0ee = new AnaKpip0ee; // tipo 31 00064 if(Kpovv>0) Akpovv = new AnaKpovv; // tipo 26 00065 if(Bea>0) Beamprt = new AnaBeam; // tipo 30; 00066 if(Ausr>0) Auser = new AnaUser; // tipo 0 00067 if(Klambda>0) Aklambda= new AnaKlambda; // tipo 27 00068 break; 00069 00070 case RIEMPI: 00071 00072 // analizza i dati se richiesto 00073 ana=Primofit; 00074 FitDone=-10; 00075 while (ana != 0) 00076 { 00077 // ana->Write_titol(); Gout<<"\n FisicaContrl "<<endl; 00078 00079 if(FitDone<(ko=ana->Fisica())) FitDone=ko; 00080 // Gout<<"FitFlag "<<FitDone<<endl; 00081 00082 ana=ana->next; 00083 } 00084 // still FitDone=-100 No fit requested 00085 // FitDone=ko; // >= -1 bad fit ; 1 fit ok; 00086 // Gout<<"\n FitCtr "<<evento_.Event<<" FitDone="<<FitDone<<" WrtNt="<<WrtNt; 00087 break; 00088 00089 case CHIUDI: 00090 00091 ana=Primofit; 00092 while (ana != 0){ana->print_scale(); ana=ana->next; } 00093 00094 break; 00095 default: 00096 break; 00097 } 00098 }