18 #ifndef St_l3_Coordinate_Transformer_hh
19 #define St_l3_Coordinate_Transformer_hh
21 #include "St_l3_Coordinates.h"
28 static int numberOfPadsAtRow[45];
29 static double radialDistanceAtRow[45];
30 static double SectorSin[24];
31 static double SectorCos[24];
32 static double innerSectorPadPitch;
33 static double outerSectorPadPitch;
37 double drift_length_inner ;
38 double drift_length_outer ;
46 int transformation_errors;
53 int LoadTPCLookupTable(
const char * filename =
"/L3/etc/map.bin");
70 void global_to_raw(
int sector,
int row,
76 void global_to_local(
int sector,
int row,
82 void local_to_raw(
int row ,
88 inline double GetSectorCos (
int i ) {
89 if ( i < 0 || i >= 24 )
95 inline double GetSectorSin (
int i ) {
96 if ( i < 0 || i >= 24 )
102 inline double GetRadialDistanceAtRow (
int i ) {
103 if ( i < 0 || i >= 45 )
106 return radialDistanceAtRow[i] ;
109 inline int GetNumberOfPadsAtRow (
int i )
111 if ( i < 0 || i >= 45 )
114 return numberOfPadsAtRow[i] ;
121 void Set_parameters_by_hand(
const double lengthPerTb = 0.584,
122 const double drift_length_inner = 201.,
123 const double drift_length_outer = 201.) ;
124 void Get_parameters_from_db() ;
125 void Use_transformation_provided_by_db() ;
126 void Print_parameters() ;
128 inline double Get_drift_length_inner() {
return drift_length_inner ;} ;
129 inline double Get_drift_length_outer() {
return drift_length_outer ;} ;
130 inline double Get_lengthPerTb() {
return lengthPerTb ; } ;
131 inline double Get_max_timebucket_inner() {
return max_tb_inner; } ;
132 inline double Get_max_timebucket_outter() {
return max_tb_outer; } ;
134 inline int Get_transformation_errors() {
return transformation_errors; } ;
150 #endif //St_l3_Coordinate_Transformer_hh