New table for tilted, shifted TPC HV planes

 This is a proposal for a new database table to be used in handling distortions in the TPC due to shifted or tilted TPV HV planes. The planes include:

  • Central Membrane
  • East Gated Grid
  • West Gated Grid

Possible distortions include:

  • Shift in the z coordinate (drift direction)
    • represented by one parameter: shift_z [cm]
  • Tilt of the plane's normal vector with respect to the z axis
    • represented by two parameters: (tilt_x, tilt_y), which are the unit vector components of the tilted normal vector

The shift in z is equivalent to a shift in the voltage of the plane, and can be used as a voltage shift in the codes simply by multiplying the physical shift times the drift field E (e.g. E = 135 V/cm).

The tilt could be described by two other variables (e.g. degree of rotation, and phi angle of axis of rotation), but this particular pair of variables goes to well-specified values when there is no tilt and the plane is appropriately perpendicular to the z axis: (0,0).

Recent Alignment and SpaceCharge & GridLeak efforts in the TPC group have shown that some shift may likely be present in the east gated grid. Distortion correction codes for all of these situations have been developed in the StDbUtilities/StMagUtilities code for some time now, and efforts to use the corrections have so far required code modifications. In order to move this into usage in official calibrations and subsequent productions, the parameters need to move into the Offline Database.

Therefore I propose the following new database table, to be placed in Geometry_tpc / tpcHVPlanes :

/*    tpcHVPlanes.idl
*
*  Table: tpcHVPlanes
*
*       description: orientation of TPC HV planes:
*                    central membrane
*                    east gated grid
*                    west gated grid
*/ 


struct tpcHVPlanes { 

   float CM_shift_z;   /* physical z shift of the CM plane                      */
   float CM_tilt_x;    /* x component of the CM plane's normal unit vector      */
   float CM_tilt_y;    /* y component of the CM plane's normal unit vector      */
   float GGE_shift_z;  /* physical z shift of the GG East plane                 */
   float GGE_tilt_x;   /* x component of the GG East plane's normal unit vector */
   float GGE_tilt_y;   /* y component of the GG East plane's normal unit vector */
   float GGW_shift_z;  /* physical z shift of the GG West plane                 */
   float GGW_tilt_x;   /* x component of the GG West plane's normal unit vector */
   float GGW_tilt_y;   /* y component of the GG West plane's normal unit vector */

 };  

Only one elementID per "entry" is necessary. I expect on the order of from 1 to 4 entries in the table per year.

Feedback is appreciated.

Thanks,
-Gene