21 #include "GFRavePropagator.h"
22 #include "GFRaveConverters.h"
23 #include "Exception.h"
30 GFRavePropagator::GFRavePropagator() :
31 IdGFTrackStateMap_(nullptr)
37 GFRavePropagator::copy()
const
40 return new GFRavePropagator(*
this);
44 GFRavePropagator::~GFRavePropagator()
50 std::pair < rave::Track, double >
51 GFRavePropagator::to (
const rave::Track & ,
52 const ravesurf::Cylinder & )
const
55 Exception exc(
"GFRavePropagator::to (cylinder) ==> not yet implemented!",__LINE__,__FILE__);
60 std::pair < rave::Track, double >
61 GFRavePropagator::to (
const rave::Track & orig,
62 const ravesurf::Plane & rplane )
const
65 double path = IdGFTrackStateMap_->at(orig.id()).state_->extrapolateToPlane(PlaneToGFDetPlane(rplane));
67 std::pair < rave::Track, double > ret(GFTrackToTrack(IdGFTrackStateMap_->at(orig.id()), orig.id(), orig.tag()), path);
73 GFRavePropagator::closestTo (
const rave::Track & orig,
78 Exception exc(
"GFRavePropagator::closestTo ==> transverse is true, not implemented!",__LINE__,__FILE__);
82 TVector3 point(Point3DToTVector3(pt));
83 IdGFTrackStateMap_->at(orig.id()).state_->extrapolateToPoint(point);
85 return GFTrackToTrack(IdGFTrackStateMap_->at(orig.id()), orig.id(), orig.tag());
90 GFRavePropagator::setIdGFTrackStateMap(std::map < int, genfit::trackAndState > * map){
93 IdGFTrackStateMap_ = map;
95 if (IdGFTrackStateMap_==
nullptr) {
96 Exception exc(
"GFRavePropagator::setIdGFMeasuredStateOnPlaneMap ==> map is nullptr!",__LINE__,__FILE__);
HepGeom::Point3D< double > Point3D
3D point
Defines for I/O streams used for error and debug printing.