369{
370
371 const Trk::PrepRawData * prd =
getPRD();
372 if (!prd) {
373 std::cerr<<"PRDHandleBase::createTransform() No prd!"<<std::endl;
374 return new SoTransform;
375 }
378
381
383 } else {
384
386 }
387 if ((theHitGPos)[0]!=(theHitGPos)[0] || (theHitGPos)[1]!=(theHitGPos)[1] || (theHitGPos)[2]!=(theHitGPos)[2]){
388 std::cerr<<"PRDHandleBase::createTransform() NaN in globalposition"<<std::endl;
389 }
390 theHitTransform->translation.setValue((theHitGPos)[0], (theHitGPos)[1], (theHitGPos)[2]);
391 return theHitTransform;
392}
virtual const Trk::PrepRawData * getPRD() const =0
virtual bool transformUsesSurfacePositionOnly() const
virtual const TrkDetElementBase * detectorElement() const =0
return the detector element corresponding to this PRD The pointer will be zero if the det el is not d...
const Amg::Vector2D & localPosition() const
return the local position reference
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
const Amg::Vector3D & center() const
Returns the center position of the Surface.
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const =0
Specified by each surface type: LocalToGlobal method without dynamic memory allocation.
virtual const Surface & surface() const =0
Return surface associated with this detector element.
static SoTransform * toSoTransform(const HepGeom::Transform3D &, SoTransform *t=0)
Eigen::Matrix< double, 3, 1 > Vector3D