Alignment
MuonAlignment
src
MuonAlignmentInputMethod.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
//
3
// Package: MuonAlignment
4
// Class : MuonAlignmentInputMethod
5
//
6
// Implementation:
7
// <Notes on implementation>
8
//
9
// Original Author: Jim Pivarski
10
// Created: Thu Mar 6 14:25:07 CST 2008
11
// $Id: MuonAlignmentInputMethod.cc,v 1.3 2009/01/19 11:07:37 flucke Exp $
12
//
13
14
// system include files
15
#include "
FWCore/Framework/interface/ESHandle.h
"
16
#include "
FWCore/Framework/interface/ESTransientHandle.h
"
17
18
// user include files
19
#include "
Alignment/MuonAlignment/interface/MuonAlignmentInputMethod.h
"
20
#include "
Geometry/Records/interface/MuonNumberingRecord.h
"
21
#include "
Geometry/DTGeometryBuilder/src/DTGeometryBuilderFromDDD.h
"
22
#include "
Geometry/CSCGeometryBuilder/src/CSCGeometryBuilderFromDDD.h
"
23
24
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
25
26
//
27
// constants, enums and typedefs
28
//
29
30
//
31
// static data member definitions
32
//
33
34
//
35
// constructors and destructor
36
//
37
MuonAlignmentInputMethod::MuonAlignmentInputMethod
() {}
38
39
// MuonAlignmentInputMethod::MuonAlignmentInputMethod(const MuonAlignmentInputMethod& rhs)
40
// {
41
// // do actual copying here;
42
// }
43
44
MuonAlignmentInputMethod::~MuonAlignmentInputMethod
() {}
45
46
//
47
// assignment operators
48
//
49
// const MuonAlignmentInputMethod& MuonAlignmentInputMethod::operator=(const MuonAlignmentInputMethod& rhs)
50
// {
51
// //An exception safe implementation is
52
// MuonAlignmentInputMethod temp(rhs);
53
// swap(rhs);
54
//
55
// return *this;
56
// }
57
58
//
59
// member functions
60
//
61
62
AlignableMuon
*
MuonAlignmentInputMethod::newAlignableMuon
(
const
edm::EventSetup
& iSetup)
const
{
63
std::shared_ptr<DTGeometry> dtGeometry =
idealDTGeometry
(iSetup);
64
std::shared_ptr<CSCGeometry> cscGeometry =
idealCSCGeometry
(iSetup);
65
66
return
new
AlignableMuon
(&(*dtGeometry), &(*cscGeometry));
67
}
68
69
std::shared_ptr<DTGeometry>
MuonAlignmentInputMethod::idealDTGeometry
(
const
edm::EventSetup
& iSetup)
const
{
70
edm::ESTransientHandle<DDCompactView>
cpv;
71
iSetup.
get
<
IdealGeometryRecord
>().
get
(cpv);
72
73
edm::ESHandle<MuonGeometryConstants>
mdc;
74
iSetup.
get
<
IdealGeometryRecord
>().
get
(mdc);
75
DTGeometryBuilderFromDDD
DTGeometryBuilder
;
76
77
auto
boost_dtGeometry = std::make_shared<DTGeometry>();
78
DTGeometryBuilder
.build(*boost_dtGeometry, &(*cpv), *mdc);
79
80
return
boost_dtGeometry;
81
}
82
83
std::shared_ptr<CSCGeometry>
MuonAlignmentInputMethod::idealCSCGeometry
(
const
edm::EventSetup
& iSetup)
const
{
84
edm::ESTransientHandle<DDCompactView>
cpv;
85
iSetup.
get
<
IdealGeometryRecord
>().
get
(cpv);
86
87
edm::ESHandle<MuonGeometryConstants>
mdc;
88
iSetup.
get
<
IdealGeometryRecord
>().
get
(mdc);
89
CSCGeometryBuilderFromDDD
CSCGeometryBuilder
;
90
91
auto
boost_cscGeometry = std::make_shared<CSCGeometry>();
92
CSCGeometryBuilder
.
build
(*boost_cscGeometry, &(*cpv), *mdc);
93
94
return
boost_cscGeometry;
95
}
96
97
//
98
// const member functions
99
//
100
101
//
102
// static member functions
103
//
DTGeometryBuilder
MuonAlignmentInputMethod.h
ESTransientHandle.h
MessageLogger.h
ESHandle.h
DTGeometryBuilderFromDDD
Definition:
DTGeometryBuilderFromDDD.h:31
MuonNumberingRecord.h
DTGeometryBuilderFromDDD.h
align::AlignableMuon
Definition:
StructureType.h:84
CSCGeometryBuilder
Definition:
CSCGeometryBuilder.h:20
edm::EventSetup::get
T get() const
Definition:
EventSetup.h:73
edm::ESHandle
Definition:
DTSurvey.h:22
CSCGeometryBuilder::build
void build(CSCGeometry &theGeometry, const RecoIdealGeometry &rig, const CSCRecoDigiParameters &cscpars)
Build the geometry.
Definition:
CSCGeometryBuilder.cc:17
MuonAlignmentInputMethod::~MuonAlignmentInputMethod
virtual ~MuonAlignmentInputMethod()
Definition:
MuonAlignmentInputMethod.cc:44
AlignableMuon
Constructor of the full muon geometry.
Definition:
AlignableMuon.h:33
edm::EventSetup
Definition:
EventSetup.h:57
CSCGeometryBuilderFromDDD.h
get
#define get
MuonAlignmentInputMethod::MuonAlignmentInputMethod
MuonAlignmentInputMethod()
Definition:
MuonAlignmentInputMethod.cc:37
edm::ESTransientHandle
Definition:
ESTransientHandle.h:41
MuonAlignmentInputMethod::idealDTGeometry
std::shared_ptr< DTGeometry > idealDTGeometry(const edm::EventSetup &iSetup) const
Definition:
MuonAlignmentInputMethod.cc:69
CSCGeometryBuilderFromDDD
Definition:
CSCGeometryBuilderFromDDD.h:30
IdealGeometryRecord
Definition:
IdealGeometryRecord.h:27
MuonAlignmentInputMethod::newAlignableMuon
virtual AlignableMuon * newAlignableMuon(const edm::EventSetup &iSetup) const
Definition:
MuonAlignmentInputMethod.cc:62
MuonAlignmentInputMethod::idealCSCGeometry
std::shared_ptr< CSCGeometry > idealCSCGeometry(const edm::EventSetup &iSetup) const
Definition:
MuonAlignmentInputMethod.cc:83
Generated for CMSSW Reference Manual by
1.8.16