FlyoDoc_2011 Pisa 2011 by GmP --- 011

flyopunta/src/src_uti62/clusgmp.h

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