CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

PixelGeomDetUnit Class Reference

#include <PixelGeomDetUnit.h>

Inheritance diagram for PixelGeomDetUnit:
GeomDetUnit GeomDet

List of all members.

Public Member Functions

 PixelGeomDetUnit (BoundPlane *sp, PixelGeomDetType *type, const GeometricDet *gd)
virtual const PixelTopologyspecificTopology () const
 Returns a reference to the pixel proxy topology.
virtual PixelGeomDetTypespecificType () const
virtual const SurfaceDeformationsurfaceDeformation () const
 Return pointer to surface deformation.
virtual const Topologytopology () const
 Returns a reference to the pixel proxy topology.
virtual const GeomDetTypetype () const

Private Member Functions

virtual void setSurfaceDeformation (const SurfaceDeformation *deformation)
 set the SurfaceDeformation for this StripGeomDetUnit to proxy topology.

Private Attributes

const GeometricDettheGD
boost::shared_ptr
< ProxyPixelTopology > 
theTopology

Detailed Description

The base PixelGeomDetUnit. Specialized in SiPixelGeomDetUnit.

Definition at line 18 of file PixelGeomDetUnit.h.


Constructor & Destructor Documentation

PixelGeomDetUnit::PixelGeomDetUnit ( BoundPlane sp,
PixelGeomDetType type,
const GeometricDet gd 
)

Definition at line 7 of file PixelGeomDetUnit.cc.

References GeometricDet::geographicalID(), GeomDet::setDetId(), and theGD.

                                                                                                 : 
  GeomDetUnit(sp), theTopology(new ProxyPixelTopology(type, sp)), theGD(gd)
{
  setDetId(theGD->geographicalID());
}

Member Function Documentation

void PixelGeomDetUnit::setSurfaceDeformation ( const SurfaceDeformation deformation) [private, virtual]

set the SurfaceDeformation for this StripGeomDetUnit to proxy topology.

Reimplemented from GeomDetUnit.

Definition at line 21 of file PixelGeomDetUnit.cc.

References theTopology.

{
  theTopology->setSurfaceDeformation(deformation);
}
const PixelTopology & PixelGeomDetUnit::specificTopology ( ) const [virtual]
PixelGeomDetType & PixelGeomDetUnit::specificType ( ) const [virtual]

NOTE (A.M.): The actual pointer to PixelGeomDetType is now a member of the proxy topology. As PixelGeomDetType has the actual topology as a pointer, it is possible to access this topology in two different ways. Once via the proxy topology (through topology() and specificTopology()) which includes corrections for the surface deformations, and once via the GeomDetType (through type().topology() and the like).

Definition at line 15 of file PixelGeomDetUnit.cc.

References theTopology.

{ return theTopology->specificType(); }
virtual const SurfaceDeformation* PixelGeomDetUnit::surfaceDeformation ( ) const [inline, virtual]

Return pointer to surface deformation.

Reimplemented from GeomDetUnit.

Definition at line 48 of file PixelGeomDetUnit.h.

References theTopology.

                                                                { 
    return theTopology->surfaceDeformation();
  }
const Topology & PixelGeomDetUnit::topology ( ) const [virtual]

Returns a reference to the pixel proxy topology.

Implements GeomDetUnit.

Definition at line 17 of file PixelGeomDetUnit.cc.

References theTopology.

Referenced by SiClusterTranslator::produce().

{ return *theTopology; }
const GeomDetType & PixelGeomDetUnit::type ( ) const [virtual]

NOTE (A.M.): The actual pointer to PixelGeomDetType is now a member of the proxy topology. As PixelGeomDetType has the actual topology as a pointer, it is possible to access this topology in two different ways. Once via the proxy topology (through topology() and specificTopology()) which includes corrections for the surface deformations, and once via the GeomDetType (through type().topology() and the like).

Implements GeomDetUnit.

Definition at line 13 of file PixelGeomDetUnit.cc.

References theTopology.

Referenced by PixelCPEBase::setTheDet().

{ return theTopology->type(); }

Member Data Documentation

Definition at line 58 of file PixelGeomDetUnit.h.

Referenced by PixelGeomDetUnit().

boost::shared_ptr<ProxyPixelTopology> PixelGeomDetUnit::theTopology [private]