CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Geometry/DTGeometryBuilder/src/DTGeometryBuilderFromCondDB.h

Go to the documentation of this file.
00001 #ifndef DTGEOMETRYBUILDERFROMCONDDB_H
00002 #define DTGEOMETRYBUILDERFROMCONDDB_H
00003 
00017 /* Base Class Headers */
00018 
00019 /* Collaborating Class Declarations */
00020 class RecoIdealGeometry;
00021 class DTGeometry;
00022 class DTChamber;
00023 class DTSuperLayer;
00024 class DTLayer;
00025 class DetId;
00026 #include "DataFormats/GeometrySurface/interface/BoundPlane.h"
00027 
00028 /* C++ Headers */
00029 #include <boost/shared_ptr.hpp>
00030 #include <vector>
00031 
00032 /* ====================================================================== */
00033 
00034 /* Class DTGeometryBuilderFromCondDB Interface */
00035 
00036 class DTGeometryBuilderFromCondDB{
00037 
00038   public:
00039 
00040 /* Constructor */ 
00041     DTGeometryBuilderFromCondDB() ;
00042 
00043 /* Destructor */ 
00044     virtual ~DTGeometryBuilderFromCondDB() ;
00045 
00046 /* Operations */ 
00047     void build(boost::shared_ptr<DTGeometry> theGeometry,
00048                const RecoIdealGeometry& rig);
00049 
00050   private:
00051     DTChamber* buildChamber(const DetId& id,
00052                             const RecoIdealGeometry& rig,
00053                             size_t idt) const ;
00054 
00055     DTSuperLayer* buildSuperLayer(DTChamber* chamber,
00056                                   const DetId& id,
00057                                   const RecoIdealGeometry& rig,
00058                                   size_t idt) const ;
00059 
00060     DTLayer* buildLayer(DTSuperLayer* sl,
00061                         const DetId& id,
00062                         const RecoIdealGeometry& rig,
00063                         size_t idt) const ;
00064 
00065 
00066     typedef ReferenceCountingPointer<BoundPlane> RCPPlane;
00067 
00068     RCPPlane plane(const std::vector<double>::const_iterator tranStart,
00069                    const std::vector<double>::const_iterator rotStart,
00070                    const Bounds& bounds) const ;
00071 
00072   protected:
00073 
00074 };
00075 #endif // DTGEOMETRYBUILDERFROMCONDDB_H
00076