Back to home page

sPhenix code displayed by LXR

 
 

    


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   /// Number of global coordinates, where global refers to
0013   /// the definition in millepede (alignment parameters)
0014   const static int NGL = 6;
0015   /// Number of local coordinates, where local refers to
0016   /// the definition in millepede (track state parameters)
0017   const static int NLOC = 6;
0018   /// Number of residual parameters
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