10 #if 0 // Old method for FDC geometry with hard coded positions!!!
13 static pthread_mutex_t wire_mutex = PTHREAD_MUTEX_INITIALIZER;
14 static bool wire_table_initialized =
false;
24 pthread_mutex_lock(&wire_mutex);
25 if(wire_table_initialized){
26 pthread_mutex_unlock(&wire_mutex);
30 float degrees00 = 0.0;
31 float degrees60 = 60.0*M_PI/180.0;
35 float z_anode=188.5+85.0;
37 case 1: z_anode+= -76.0-4.5-3.0; angle= degrees00;
break;
38 case 2: z_anode+= -76.0-4.5-0.0; angle= +degrees60;
break;
39 case 3: z_anode+= -76.0-4.5+3.0; angle= -degrees60;
break;
40 case 4: z_anode+= -76.0+4.5-3.0; angle= degrees00;
break;
41 case 5: z_anode+= -76.0+4.5-0.0; angle= +degrees60;
break;
42 case 6: z_anode+= -76.0+4.5+3.0; angle= -degrees60;
break;
44 case 7: z_anode+= -25.33-4.5-3.0; angle= degrees00;
break;
45 case 8: z_anode+= -25.33-4.5-0.0; angle= +degrees60;
break;
46 case 9: z_anode+= -25.33-4.5+3.0; angle= -degrees60;
break;
47 case 10: z_anode+= -25.33+4.5-3.0; angle= degrees00;
break;
48 case 11: z_anode+= -25.33+4.5-0.0; angle= +degrees60;
break;
49 case 12: z_anode+= -25.33+4.5+3.0; angle= -degrees60;
break;
51 case 13: z_anode+= +25.33-4.5-3.0; angle= degrees00;
break;
52 case 14: z_anode+= +25.33-4.5-0.0; angle= +degrees60;
break;
53 case 15: z_anode+= +25.33-4.5+3.0; angle= -degrees60;
break;
54 case 16: z_anode+= +25.33+4.5-3.0; angle= degrees00;
break;
55 case 17: z_anode+= +25.33+4.5-0.0; angle= +degrees60;
break;
56 case 18: z_anode+= +25.33+4.5+3.0; angle= -degrees60;
break;
58 case 19: z_anode+= +76.0-4.5-3.0; angle= degrees00;
break;
59 case 20: z_anode+= +76.0-4.5-0.0; angle= +degrees60;
break;
60 case 21: z_anode+= +76.0-4.5+3.0; angle= -degrees60;
break;
61 case 22: z_anode+= +76.0+4.5-3.0; angle= degrees00;
break;
62 case 23: z_anode+= +76.0+4.5-0.0; angle= +degrees60;
break;
63 case 24: z_anode+= +76.0+4.5+3.0; angle= -degrees60;
break;
85 float x = u*
sin(angle + M_PI/2.0);
86 float y = u*cos(angle + M_PI/2.0);
87 w->
origin.SetXYZ(x,y,z_anode);
94 w->
udir.SetXYZ(
sin(angle),cos(angle),0.0);
108 wire_table_initialized=
true;
109 pthread_mutex_unlock(&wire_mutex);
115 const DFDCWire* DFDCGeometry::GetDFDCWire(
int layer,
int wire)
117 if(layer<1)
return NULL;
119 if(wire<1)
return NULL;
122 return &fdcwire[layer-1][wire-1];
#define FDC_ACTIVE_RADIUS