File indexing completed on 2025-12-17 09:20:44
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(
0062 const ActsTrackFittingAlgorithm::TrackParameters& param,
0063 const Acts::Vector3& vertex,
0064 Acts::BoundSquareMatrix cov,
0065 Acts::GeometryContext& geoCtxt,
0066 float& dca3Dxy,
0067 float& dca3Dz,
0068 float& dca3DxyCov,
0069 float& dca3DzCov) const;
0070
0071
0072 void fillSvtxTrackStates(
0073 const Acts::ConstVectorMultiTrajectory& traj,
0074 const size_t& trackTip,
0075 SvtxTrack* svtxTrack,
0076 const Acts::GeometryContext& geoContext
0077 ) const;
0078
0079
0080 void addTrackState(
0081 SvtxTrack* track,
0082 TrkrDefs::cluskey key,
0083 float pathlength,
0084 const Acts::BoundTrackParameters& params,
0085 const Acts::GeometryContext& geoContext ) const;
0086
0087 private:
0088 int m_verbosity = 0;
0089 };
0090
0091 #endif