Go to the documentation of this file.00001 #ifndef IsolationUtils_PropagateToCal_h
00002 #define IsolationUtils_PropagateToCal_h
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include <algorithm>
00012 #include <vector>
00013 #include "MagneticField/Engine/interface/MagneticField.h"
00014 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
00015 #include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h"
00016 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00017 #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
00018 #include "TrackingTools/TrajectoryParametrization/interface/GlobalTrajectoryParameters.h"
00019 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00020 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
00021 #include "DataFormats/GeometrySurface/interface/Plane.h"
00022 #include "DataFormats/GeometrySurface/interface/Cylinder.h"
00023
00024 class MagneticField;
00025
00026 class PropagateToCal {
00027 public:
00028 PropagateToCal();
00029 ~PropagateToCal();
00030 PropagateToCal(double radius, double minZ, double maxZ, bool theIgnoreMaterial);
00031 bool propagate(const GlobalPoint& vertex,
00032 GlobalVector& Cand, int charge,
00033 const MagneticField * bField) const;
00034
00035 private:
00036 bool theIgnoreMaterial_;
00037 double radius_, maxZ_, minZ_;
00038 };
00039
00040 #endif