CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CSCGeometryBuilder.h
Go to the documentation of this file.
1 #ifndef CSCGeometryBuilder_CSCGeometryBuilder_h
2 #define CSCGeometryBuilder_CSCGeometryBuilder_h
3 
15 
16 #include <string>
17 
18 #include <boost/shared_ptr.hpp>
19 
20 class CSCGeometry;
21 
23 public:
26 
28  virtual ~CSCGeometryBuilder();
29 
31  void build( boost::shared_ptr<CSCGeometry> theGeometry
32  , const RecoIdealGeometry& rig
33  , const CSCRecoDigiParameters& cscpars ) ;
34 
35 protected:
36 
37 private:
39  void buildChamber (
40  boost::shared_ptr<CSCGeometry> theGeometry // the geometry container
41  , CSCDetId chamberId // the DetId of this chamber
42  , const std::vector<float>& fpar // volume parameters
43  , const std::vector<float>& fupar // user parameters
44  , const std::vector<float>& gtran // translation vector
45  , const std::vector<float>& grmat // rotation matrix
46  , const CSCWireGroupPackage& wg // wire group info
47  );
48 
50 
51 };
52 #endif
53 
void buildChamber(boost::shared_ptr< CSCGeometry > theGeometry, CSCDetId chamberId, const std::vector< float > &fpar, const std::vector< float > &fupar, const std::vector< float > &gtran, const std::vector< float > &grmat, const CSCWireGroupPackage &wg)
Build one CSC chamber, and its component layers, and add them to the geometry.
const std::string myName
CSCGeometryBuilder()
Constructor.
void build(boost::shared_ptr< CSCGeometry > theGeometry, const RecoIdealGeometry &rig, const CSCRecoDigiParameters &cscpars)
Build the geometry.
virtual ~CSCGeometryBuilder()
Destructor.