6 #include "GeoModelKernel/GeoVFullPhysVol.h" 
    7 #include "GeoModelKernel/GeoPcon.h" 
   14                       , 
double projectivityDisplacement)
 
   15   : GeoVDetectorElement(physVol)
 
   16   , m_descriptor(hecDescriptor) 
 
   17   , m_endcapIndex(endcap)
 
   18   , m_projectivityDisplacement(projectivityDisplacement)
 
   35     return Amg::Vector3D(clhepPoint.x(), clhepPoint.y(), clhepPoint.z());
 
   39   const GeoVFullPhysVol *fullPhysVol = getMaterialGeom();
 
   41     ? fullPhysVol->getCachedAbsoluteTransform(alignStore)
 
   42     : fullPhysVol->getAbsoluteTransform();
 
   47   const GeoVFullPhysVol *fullPhysVol = getMaterialGeom();
 
   49     ? fullPhysVol->getCachedDefAbsoluteTransform(alignStore)
 
   50     : fullPhysVol->getDefAbsoluteTransform();
 
   56     return Amg::Vector3D(clhepPoint.x(), clhepPoint.y(), clhepPoint.z());
 
   65   const GeoVFullPhysVol *physVol = getMaterialGeom();
 
   66   const GeoLogVol       *logVol  = physVol->getLogVol();
 
   67   const GeoShape        *shape   = logVol->getShape();
 
   68   if (shape->typeID()!=GeoPcon::getClassTypeID()) {
 
   69     throw std::runtime_error (
"HECDetectorRegion cannot compute absolute position of reference plane");
 
   71   const GeoPcon *pcon = 
static_cast<const GeoPcon *
> (shape);
 
   72   HepGeom::Point3D<double> center(0,0,pcon->getZPlane(0));
 
   81   HepGeom::Point3D<double> focalPos = hec2 ? 
 
   82     HepGeom::Point3D<double>(0,0,sgn*
m_descriptor->getManager()->getFocalToRef2()):
 
   83     HepGeom::Point3D<double>(0,0,sgn*
m_descriptor->getManager()->getFocalToRef1());
 
   84   return zRef - focalPos;