372{
373
374 const Trk::PrepRawData * prd =
getPRD();
375 if (!prd) {
376 std::cerr<<"PRDHandleBase::createTransform() No prd!"<<std::endl;
377 return new SoTransform;
378 }
381
384
386 } else {
387
389 }
390 if ((theHitGPos)[0]!=(theHitGPos)[0] || (theHitGPos)[1]!=(theHitGPos)[1] || (theHitGPos)[2]!=(theHitGPos)[2]){
391 std::cerr<<"PRDHandleBase::createTransform() NaN in globalposition"<<std::endl;
392 }
393 theHitTransform->translation.setValue((theHitGPos)[0], (theHitGPos)[1], (theHitGPos)[2]);
394 return theHitTransform;
395}
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