00001 00009 /* This Class Header */ 00010 #include "Geometry/DTGeometry/interface/DTLayer.h" 00011 00012 /* Collaborating Class Header */ 00013 #include "Geometry/DTGeometry/interface/DTSuperLayer.h" 00014 00015 /* Base Class Headers */ 00016 00017 /* C++ Headers */ 00018 00019 /* ====================================================================== */ 00020 00021 /* Constructor */ 00022 DTLayer::DTLayer(DTLayerId id, 00023 ReferenceCountingPointer<BoundPlane>& plane, 00024 const DTTopology& topo, 00025 const DTLayerType& type, 00026 const DTSuperLayer* sl) : 00027 GeomDetUnit(*&plane), theId(id) , theTopo(topo), theType(type) , theSL(sl){ 00028 } 00029 00030 /* Destructor */ 00031 DTLayer::~DTLayer() { 00032 } 00033 00034 /* Operations */ 00035 const Topology& DTLayer::topology() const { 00036 return theTopo; 00037 } 00038 00039 const GeomDetType& DTLayer::type() const{ 00040 return theType; 00041 } 00042 00043 const DTTopology& DTLayer::specificTopology() const { 00044 return theTopo; 00045 } 00046 00047 DetId DTLayer::geographicalId() const { 00048 return theId; 00049 } 00050 00051 DTLayerId DTLayer::id() const { 00052 return theId; 00053 } 00054 00055 bool DTLayer::operator==(const DTLayer& l) const { 00056 return id()==l.id(); 00057 } 00058 00059 const DTSuperLayer* DTLayer::superLayer() const { 00060 return theSL; 00061 } 00062 00063 const DTChamber* DTLayer::chamber() const { 00064 return (theSL) ? theSL->chamber() : 0; 00065 } 00066 00067 std::vector< const GeomDet*> DTLayer::components() const { 00068 return std::vector< const GeomDet*>(); 00069 }