1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#ifndef CSCGeometryBuilder_CSCGeometryBuilder_h
#define CSCGeometryBuilder_CSCGeometryBuilder_h
/** \class CSCGeometryBuilder
*
* Build the CSCGeometry from the DDD description.
*
* \author Tim Cox
*/
#include <DataFormats/MuonDetId/interface/CSCDetId.h>
#include <Geometry/CSCGeometry/interface/CSCWireGroupPackage.h>
#include <CondFormats/GeometryObjects/interface/CSCRecoDigiParameters.h>
#include <CondFormats/GeometryObjects/interface/RecoIdealGeometry.h>
#include <string>
class CSCGeometry;
class CSCGeometryBuilder {
public:
/// Constructor
CSCGeometryBuilder();
/// Destructor
virtual ~CSCGeometryBuilder();
/// Build the geometry
void build(CSCGeometry& theGeometry, const RecoIdealGeometry& rig, const CSCRecoDigiParameters& cscpars);
private:
/// Build one CSC chamber, and its component layers, and add them to the geometry
void buildChamber(CSCGeometry& theGeometry, // the geometry container
CSCDetId chamberId, // the DetId of this chamber
const std::vector<float>& fpar, // volume parameters
const std::vector<float>& fupar, // user parameters
const std::vector<float>& gtran, // translation vector
const std::vector<float>& grmat, // rotation matrix
const CSCWireGroupPackage& wg // wire group info
);
const std::string myName;
};
#endif
|