FlyoDoc_2011 Pisa 2011 by GmP --- 011

flyopunta/src/src_main/evento.h

00001 /***************************************************************************
00002                           evento.h  -  description
00003                              -------------------
00004     begin                : Sun May 27 2001
00005     copyright            : (C) 2001 by Giuseppe Pierazzini
00006     email                : peppe@unipi.it
00007  ***************************************************************************/
00008 
00009 #ifndef EVENTO_H
00010 #define EVENTO_H
00011 
00012 #include<string.h>
00013 class Reazione;
00019 struct Bufeve
00020 {
00021 
00022   int type;                  // indice rea*100 + indice beam: type=id*100 + avo->Get_Idm();
00023   int lastype;               // della reazione passata (studio di correlazioni)
00024   int burst;                  // numero di burst
00025   int Event;                 // Numero evento
00026   int Run;                   // numero run
00027   int ift;                   // beam fate
00028   int trigger_flag;          // Minum bias trigger coded (vedi in main).
00029   int Pipev;                 // Event with accidental into the pipe_time_window of one dev.
00030   int Ipair;                 // pair productions done in the event
00031   int Ibrem;                 // bremsstrhalung done  in  the envent
00032   int Idlz;                  // dalitz done  in  the envent
00033   int Itsrt;                 // Short tail gamma correction in calorimeter done
00034   int Itlg;                  // Long tail gamma correction in calorimeter done
00035   int Ifus;                  // Fusion number in calorimeter
00036   double tempo;               // Event time  (che ha generato il trigger)
00037   float  tdif;               // Time difference from this time  and the last particle beam generation
00038   float  ttrigdif;            // Time difference between this and the last triggered event
00039   float  xt,yt,zt;           // Genrated target point
00040   float  xv,yv,zv;           // Decay vertex of beam particle (K,pio,....)
00041   float  pxk,pyk,pzk,pk;     // Generated momenta of beam
00042   float  pxkf,pykf,pzkf,pkf; // Momenta of beam at the decay point
00043 // the next parameters are defined only if the corresponding particles exist.
00044 //sono le particelle di decadimento avo->dw and avo->dw->rg;
00045   float  x1f,y1f,z1f;        // Decay of particle 1
00046   float  px1g,py1g,pz1g,mas1;// Generated momenta of particle 1
00047   float  px1f,py1f,pz1f;     // Momenta of p1 at last point of its path.
00048   float  x2f,y2f,z2f;        // Decay of particle 1  (?)
00049   float  px2g,py2g,pz2g,mas2;// Generated momenta of particle 1 (?)
00050   float  px2f,py2f,pz2f;     // Momenta of p1 at last point of its path.
00051 
00052 // ss definito solo se decadimento a tre corpi...
00053   double gss0,gss1,gss2,gvss0,gvss1,gvss2;
00054   float gss_sort,gvss_sort;
00055   int Irand_ss;
00056   Reazione *rea_sel;          // pointer to the reaction tree
00057 };
00065 class Evento
00066 {
00067   public:
00068 // do not touch ....header dati..
00069     int MemEvPos;
00070     int SizeCircularBuffer;
00071     Bufeve Gen;
00072     Bufeve HeaderEv[100];  // Buffer circolare
00073 
00074 
00075     int Mxev,Debg_first,Debg_last,Evenlast;
00076    
00077 
00078     Evento();
00079     ~Evento() {};
00080     void Put_Header_into_Buffer();
00081     int  Get_Header_from_Buffer();
00082     void Define_Standard_Header();
00083     void Store_Gen();  // nascita e morte delle particelle
00084     void SaveDevMeas();
00085 };
00086 #endif
00087 
00088 
00089 #if defined(MAINFLYO)
00090 
00091 Evento evento_;
00092 int Ntrigg=0;
00093 double ppp=1.e+12;  //default...   see in file epc
00094 long Eventi_Fatti=0;
00095 #endif
00096 
00097 #if !defined(MAINFLYO)
00098 
00099 extern Evento evento_;
00100 extern int Ntrigg;
00101 extern double ppp;
00102 extern long Eventi_Fatti;
00103 #endif
 All Classes Namespaces Files Functions Variables