File indexing completed on 2024-04-06 12:31:41
0001 #ifndef TrajectoryStateTransform_H
0002 #define TrajectoryStateTransform_H
0003
0004 #include "DataFormats/TrajectoryState/interface/PTrajectoryStateOnDet.h"
0005 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0006 #include "DataFormats/L1TrackTrigger/interface/TTTrack.h"
0007 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0008
0009 class TrajectoryStateOnSurface;
0010 class FreeTrajectoryState;
0011 class TrackingGeometry;
0012 class Surface;
0013 class MagneticField;
0014
0015 namespace trajectoryStateTransform {
0016
0017 PTrajectoryStateOnDet persistentState(const TrajectoryStateOnSurface& ts, unsigned int detid);
0018
0019 TrajectoryStateOnSurface transientState(const PTrajectoryStateOnDet& ts,
0020 const Surface* surface,
0021 const MagneticField* field);
0022
0023
0024
0025 FreeTrajectoryState initialFreeState(const reco::Track& tk, const MagneticField* field, bool withErr = true);
0026 FreeTrajectoryState initialFreeStateL1TTrack(const TTTrack<Ref_Phase2TrackerDigi_>& tk,
0027 const MagneticField* field,
0028 bool withErr = false);
0029
0030 FreeTrajectoryState innerFreeState(const reco::Track& tk, const MagneticField* field, bool withErr = true);
0031 FreeTrajectoryState outerFreeState(const reco::Track& tk, const MagneticField* field, bool withErr = true);
0032
0033
0034
0035 TrajectoryStateOnSurface innerStateOnSurface(const reco::Track& tk,
0036 const TrackingGeometry& geom,
0037 const MagneticField* field,
0038 bool withErr = true);
0039 TrajectoryStateOnSurface outerStateOnSurface(const reco::Track& tk,
0040 const TrackingGeometry& geom,
0041 const MagneticField* field,
0042 bool withErr = true);
0043
0044 }
0045
0046
0047 struct TrajectoryStateTransform {};
0048
0049 #endif