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 setDetId(id); 00029 } 00030 00031 /* Destructor */ 00032 DTLayer::~DTLayer() { 00033 } 00034 00035 /* Operations */ 00036 const Topology& DTLayer::topology() const { 00037 return theTopo; 00038 } 00039 00040 const GeomDetType& DTLayer::type() const{ 00041 return theType; 00042 } 00043 00044 const DTTopology& DTLayer::specificTopology() const { 00045 return theTopo; 00046 } 00047 00048 DTLayerId DTLayer::id() const { 00049 return theId; 00050 } 00051 00052 bool DTLayer::operator==(const DTLayer& l) const { 00053 return id()==l.id(); 00054 } 00055 00056 const DTSuperLayer* DTLayer::superLayer() const { 00057 return theSL; 00058 } 00059 00060 const DTChamber* DTLayer::chamber() const { 00061 return (theSL) ? theSL->chamber() : 0; 00062 } 00063 00064 std::vector< const GeomDet*> DTLayer::components() const { 00065 return std::vector< const GeomDet*>(); 00066 }