Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:39

0001 #ifndef INTT_CYLINDERGEOMINTTHELPER_H
0002 #define INTT_CYLINDERGEOMINTTHELPER_H
0003 
0004 #include "CylinderGeomIntt.h"
0005 
0006 #include <g4detectors/PHG4CylinderGeom.h>
0007 
0008 #include <trackbase/ActsGeometry.h>
0009 
0010 #include <TVector2.h>
0011 #include <TVector3.h>
0012 
0013 #include <cmath>
0014 #include <iostream>
0015 
0016 class CylinderGeomInttHelper
0017 {
0018  public:
0019   CylinderGeomInttHelper() = default;
0020 
0021   // our own
0022   void static
0023   find_segment_center (
0024     const Surface& surface,
0025     ActsGeometry* tGeometry,
0026     double location[]
0027   );
0028 
0029   void static
0030   find_strip_center (
0031     Surface const& surface,
0032     ActsGeometry* tGeometry,
0033     const int segment_z_bin,
0034     const int segment_phi_bin,
0035     const int strip_column,
0036     const int strip_index,
0037     double* location,
0038     CylinderGeomIntt& fren
0039   );
0040  
0041   TVector3 static
0042   get_world_from_local_coords (
0043     const Surface& surface,
0044     ActsGeometry* tGeometry,
0045     const TVector2& local
0046   );
0047 
0048   TVector3 static
0049   get_world_from_local_coords (
0050     const Surface& surface,
0051     ActsGeometry* tGeometry,
0052     const TVector3& local
0053   );
0054 
0055   TVector3 static
0056   get_local_from_world_coords (
0057     const Surface& surface,
0058     ActsGeometry* tGeometry,
0059     TVector3 world
0060   );
0061 };
0062 
0063 #endif