File indexing completed on 2026-09-01 08:20:48
0001 #ifndef TPC_LASERCLUSTERHELPER_H
0002 #define TPC_LASERCLUSTERHELPER_H
0003
0004 #include <trackbase/ActsGeometry.h>
0005 #include <trackbase/TrkrDefs.h>
0006
0007 #include <array>
0008
0009 class ActsGeometry;
0010 class LaserCluster;
0011 class PHCompositeNode;
0012 class PHG4TpcGeomContainer;
0013
0014 class LaserClusterHelper
0015 {
0016 public:
0017 LaserClusterHelper () = default;
0018
0019 void loadNodes(PHCompositeNode *topNode);
0020
0021 Acts::Vector3 getHitPosition(TrkrDefs::hitsetkey, TrkrDefs::hitkey) const;
0022 Acts::Vector3 getClusterCentroid(LaserCluster*) const;
0023 std::array<double, 3> getClusterHardwareCentroid(LaserCluster*) const;
0024
0025 void set_useZ(bool use) { m_useZ = use; }
0026 void set_useGlobal(bool use) { m_useGlobal = use; }
0027 private:
0028
0029 ActsGeometry *m_tGeometry{nullptr};
0030 PHG4TpcGeomContainer *m_geom_container{nullptr};
0031
0032 bool m_useZ{false};
0033 bool m_useGlobal{true};
0034
0035 };
0036
0037 #endif