File indexing completed on 2024-04-06 12:23:31
0001 #ifndef IsolationUtils_PropagateToCal_h
0002 #define IsolationUtils_PropagateToCal_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <algorithm>
0012 #include <vector>
0013 #include "MagneticField/Engine/interface/MagneticField.h"
0014 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0015 #include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h"
0016 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0017 #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
0018 #include "TrackingTools/TrajectoryParametrization/interface/GlobalTrajectoryParameters.h"
0019 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0020 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0021 #include "DataFormats/GeometrySurface/interface/Plane.h"
0022 #include "DataFormats/GeometrySurface/interface/Cylinder.h"
0023
0024 class MagneticField;
0025
0026 class PropagateToCal {
0027 public:
0028 PropagateToCal();
0029 ~PropagateToCal();
0030 PropagateToCal(double radius, double minZ, double maxZ, bool theIgnoreMaterial);
0031 bool propagate(const GlobalPoint& vertex, GlobalVector& Cand, int charge, const MagneticField* bField) const;
0032
0033 private:
0034 bool theIgnoreMaterial_;
0035 double radius_, maxZ_, minZ_;
0036 };
0037
0038 #endif