File indexing completed on 2025-08-05 08:17:04
0001 #ifndef TRACKRECO_ACTSTRANSFORMATIONS_H
0002 #define TRACKRECO_ACTSTRANSFORMATIONS_H
0003
0004 #include "SvtxTrack.h"
0005
0006 #include <trackbase/ActsGeometry.h>
0007 #include <trackbase/ActsTrackFittingAlgorithm.h>
0008 #include <trackbase/TrkrDefs.h>
0009
0010
0011 #include <Acts/Definitions/Algebra.hpp>
0012 #include <Acts/EventData/VectorMultiTrajectory.hpp>
0013 #include <Acts/Utilities/BinnedArray.hpp>
0014 #include <Acts/Utilities/Logger.hpp>
0015
0016
0017 #include <cmath>
0018 #include <iostream>
0019 #include <memory>
0020 #include <utility>
0021
0022
0023 class SvtxTrack;
0024 class SvtxTrackState;
0025 class TrkrCluster;
0026
0027
0028
0029
0030
0031
0032
0033
0034 class ActsTransformations
0035 {
0036 public:
0037 ActsTransformations() = default;
0038
0039
0040
0041
0042
0043 Acts::BoundSquareMatrix rotateSvtxTrackCovToActs(const SvtxTrack*) const;
0044
0045
0046
0047
0048
0049 Acts::BoundSquareMatrix rotateSvtxTrackCovToActs(const SvtxTrackState*) const;
0050
0051
0052
0053 Acts::BoundSquareMatrix rotateActsCovToSvtxTrack(const ActsTrackFittingAlgorithm::TrackParameters&) const;
0054
0055 void setVerbosity(int verbosity) { m_verbosity = verbosity; }
0056
0057 void printMatrix(const std::string& message, const Acts::BoundSquareMatrix& matrix) const;
0058
0059
0060
0061 void calculateDCA(const ActsTrackFittingAlgorithm::TrackParameters& param,
0062 const Acts::Vector3& vertex,
0063 Acts::BoundSquareMatrix cov,
0064 Acts::GeometryContext& geoCtxt,
0065 float& dca3Dxy,
0066 float& dca3Dz,
0067 float& dca3DxyCov,
0068 float& dca3DzCov) const;
0069
0070 void fillSvtxTrackStates(const Acts::ConstVectorMultiTrajectory& traj,
0071 const size_t& trackTip,
0072 SvtxTrack* svtxTrack,
0073 Acts::GeometryContext& geoContext) const;
0074
0075 private:
0076 int m_verbosity = 0;
0077 };
0078
0079 #endif