Go to the documentation of this file.00001 #ifndef DTGEOMETRYBUILDERFROMCONDDB_H
00002 #define DTGEOMETRYBUILDERFROMCONDDB_H
00003
00017
00018
00019
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
00029 #include <boost/shared_ptr.hpp>
00030 #include <vector>
00031
00032
00033
00034
00035
00036 class DTGeometryBuilderFromCondDB{
00037
00038 public:
00039
00040
00041 DTGeometryBuilderFromCondDB() ;
00042
00043
00044 virtual ~DTGeometryBuilderFromCondDB() ;
00045
00046
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