File indexing completed on 2025-08-06 08:18:13
0001 #ifndef __SVTXALIGNMENTSTATE_H__
0002 #define __SVTXALIGNMENTSTATE_H__
0003
0004 #include <phool/PHObject.h>
0005 #include <trackbase/TrkrDefs.h>
0006 #include <Acts/Definitions/Algebra.hpp>
0007 #include <cmath>
0008
0009 class SvtxAlignmentState : public PHObject
0010 {
0011 public:
0012
0013
0014 const static int NGL = 6;
0015
0016
0017 const static int NLOC = 6;
0018
0019 const static int NRES = 2;
0020
0021 typedef Eigen::Matrix<double, NRES, NGL> GlobalMatrix;
0022 typedef Eigen::Matrix<double, NRES, NLOC> LocalMatrix;
0023 typedef Eigen::Matrix<double, NRES, 1> ResidualVector;
0024
0025 ~SvtxAlignmentState() override {}
0026
0027 void identify(std::ostream& os = std::cout) const override
0028 {
0029 os << "SvtxAlignmentState base class" << std::endl;
0030 }
0031
0032 int isValid() const override { return 0; }
0033 PHObject* CloneMe() const override { return nullptr; }
0034
0035 virtual void set_residual(const ResidualVector&) {}
0036 virtual void set_local_derivative_matrix(const LocalMatrix&) {}
0037 virtual void set_global_derivative_matrix(const GlobalMatrix&) {}
0038 virtual void set_cluster_key(TrkrDefs::cluskey) {}
0039
0040 virtual const ResidualVector& get_residual() const;
0041 virtual const LocalMatrix& get_local_derivative_matrix() const;
0042 virtual const GlobalMatrix& get_global_derivative_matrix() const;
0043 virtual TrkrDefs::cluskey get_cluster_key() const { return UINT_MAX; }
0044
0045 protected:
0046 SvtxAlignmentState() {}
0047 ClassDefOverride(SvtxAlignmentState, 1);
0048 };
0049
0050 #endif