2 #define VXDGeometry_h 1
9 #include <gear/GearMgr.h>
10 #include "CLHEP/Vector/TwoVector.h"
18 double phi{}; // phi of ladder - rotation araound z-axis
19 gear::Vector3D trans{}; // translation after rotation
20 // CLHEP::Hep2Vector p0 ; // 'left' end of ladder in r-phi
21 // CLHEP::Hep2Vector p1 ; // 'right' end of ladder in r-phi
22 // CLHEP::Hep2Vector u ; // unit vector along ladder in r-phi
24 typedef std::vector< std::vector< VXDLadder > > VXDLadders ;
38 typedef std::vector< VXDLayer > VXDLayers ;
57 VXDGeometry(const VXDGeometry&) = delete;
58 VXDGeometry& operator=(const VXDGeometry&) = delete;
60 VXDGeometry(gear::GearMgr* gearMgr) ;
66 std::pair<int,int> getLadderID( gear::Vector3D labPos, int layerID=-1 ) ;
71 gear::Vector3D lab2LadderPos( gear::Vector3D labPos, int layerID, int ladderID) ;
76 gear::Vector3D ladder2LabPos( gear::Vector3D ladderPos, int layerID, int ladderID) ;
81 gear::Vector3D lab2LadderDir( gear::Vector3D labPos, int layerID, int ladderID) ;
86 gear::Vector3D ladder2LabDir( gear::Vector3D ladderPos, int layerID, int ladderID) ;
96 gear::GearMgr* _gearMgr{};
97 VXDLadders _vxdLadders{};
98 VXDLayers _vxdLayers{};