FlyoDoc_2011 Pisa 2011 by GmP --- 011
|
00001 00002 /* file di test Authors G.Pierazzini */ 00003 /* new version 20 ottopbre 2010 */ 00004 00005 #ifndef CLUGMP_H 00006 #define CLUGMP_H 00007 #include "devstraw.h" 00008 #include "gmatrix.h" 00014 struct HitClus 00015 { 00016 string nome; 00017 int id,mask,planes; 00018 int hitu,hitv,hitx,hity; //ordinati secondo zeta 00019 float Ufil,Vfil,Xfil,Yfil; 00020 float Udtim,Vdtim,Xdtim,Ydtim; 00021 double chiq; 00022 gvet Centro; 00023 gvet Xcls;// coordinate medie del cluster, parametro di validità 00024 double Filo; 00025 void Cluster_Print (); 00026 }; 00027 00028 00029 00030 class ClusterStraw 00031 { 00032 private: 00033 00034 // Primo piano: direzioni fili lungo x corrdinata corrente y 00035 // Secondo piano: direzioni fili lungo y corrdinata corrente x 00036 // Terzo piano: direzioni fili ruotati di -45(v = (x+y)/sqrt(2) ) 00037 // Quarto piano: direzioni fili ruotati di 45 (u = (x-y)/sqrt(2) ) 00038 00039 static const int MAXCLUSTER=30; 00040 int ny,nx,nv,nu,mask; // Hits in each plain; 00041 DevStraw *stwy,*stwx,*stwv,*stwu; 00042 double chicut; 00043 double zy,zx,zv,zu; // zeta del piano 00044 gmatrix Pij,Pjx,Pjy,Pju,Pjv; 00045 00046 00047 public: 00048 ClusterStraw(DevStraw*); 00049 ~ClusterStraw() { }; 00050 gvet xwc,ywc,uwc,vwc; 00051 double ufl,vfl,xfl,yfl; // current were address 00052 double udt,vdt,xdt,ydt; 00053 int nclust, single_plans; 00054 int Filtro_1(gvet &,double &); 00055 int Filtro_23(gvet); 00056 00057 00058 HitClus Clus[MAXCLUSTER];// max 30 clusters 00059 HitClus ClusSave; 00060 00061 00062 00063 // dati per root 30 anche troppi.... 00064 int ncls, nwu,nwv,nwx,nwy,hitu[30],hitv[30],hitx[30],hity[30],maskera[30],planes[30]; 00065 float Ufil[30],Vfil[30],Xfil[30],Yfil[30]; 00066 float Udtim[30],Vdtim[30],Xdtim[30],Ydtim[30]; 00067 float X[30],Y[30],Z[30]; 00068 float chiq[30]; 00069 // end dati per root 00070 00071 00072 00073 // Methods & Functions 00074 int Get_Cluster(); 00075 void Ordina(); 00076 void Cluster2Root(); 00077 }; 00078 00079 #if defined(MAINFLYO) 00080 ClusterStraw *ChambClus[4]; 00081 #endif 00082 00083 #if !defined(MAINFLYO) 00084 extern ClusterStraw *ChambClus[4]; 00085 #endif 00086 00087 #endif