FlyoDoc_2011 Pisa 2011 by GmP --- 011
|
00001 /*************************************************************************** 00002 * Copyright (C) 2005 by Giuseppe Pierazzini Pisa 20.02.05 * 00003 * pierazzini@unipi.it * 00004 * F l y o * 00005 * Epsi/NA48 * 00006 ***************************************************************************/ 00007 00008 #include "flyoh.h" 00009 #define ESTERNO 1 00010 #define INTERNO 0 00011 #define INBUCO -1 00012 00013 using namespace std; 00014 00023 DevFluka::DevFluka() 00024 { 00025 //tipico device per lo studio delle interazioni co il gasss 00026 devtype=TypDevGas; 00027 devclass="Dec_Tubo"; 00028 fun =Gasint; 00029 Lato_z=2.*Lout.z; 00030 } 00031 00032 00033 int DevFluka::Traccia ( Particella *pr ) 00034 {double tratok=0; 00035 00036 // particella stabile 00037 00038 if(pr->Get_Ido()==1 && pr->Get_Ctau()==-1.0 &&nowpos==-1) 00039 { 00040 //tracing in the device "buco"..... 00041 // define the interaction point inside the device,.. 00042 // even if the particle is stable. Mark the particle as decay 00043 // cout<<"\n Ev0 "<< Eventi_Fatti<< " "<<pr->Get_Nome()<<" f "<<pr->Get_Fato() <<" z "<<setw(8)<<pr->X.z<<" pathmax "<<setw(8)<< pr->path_max 00044 // <<" done "<<setw(8)<<pr->path_done<<" pathok "<<setw(8)<<pr->pathok<<" last "<<setw(8)<<pr->last_path<<flush; 00045 00046 00047 if(pr->path_max==Zona) 00048 { 00049 tratok= Pran()* Lato_z; 00050 pr->path_max=Cface.z+ tratok; 00051 } 00052 00053 if(pr->pathok > ( pr->path_max- pr->path_done ) ) 00054 { 00055 pr->pathok= ( pr->path_max-pr->path_done+0.000001 ); 00056 pr->Set_Fato(Decay,-2); 00057 00058 } 00059 00060 // cout<<"\n Ev1 "<< Eventi_Fatti<< " "<<pr->Get_Nome()<<" f "<<pr->Get_Fato()<<" z "<<setw(8)<<pr->X.z<<" pathmax "<<setw(8)<< pr->path_max 00061 // <<" done "<<setw(8)<<pr->path_done<<" pathok "<<setw(8)<<pr->pathok<<" last "<<setw(8)<<pr->last_path<<flush; 00062 00063 } 00064 00065 int ok = Device::Traccia(pr); 00066 00067 return ok; 00068 } 00069 00070 00071 00072 void DevFluka::Prgeom() 00073 { 00074 //----------------- -------- 00075 Gout<<"================== R i v e l a t o r e ================="; 00076 Gout<<"\n --> < "<<nome <<" > [ "<<fun 00077 <<" ] Decay region Dev"; 00078 00079 Device::Prgeom(); 00080 00081 // ridefinizione dei buffer per contenere gli hits se troppi 00082 00083 } 00084