Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
TrackingTools
Producers
src
AnalyticalPropagatorESProducer.cc
Go to the documentation of this file.
1
#include "
TrackingTools/Producers/interface/AnalyticalPropagatorESProducer.h
"
2
#include "
MagneticField/Engine/interface/MagneticField.h
"
3
#include "
MagneticField/Records/interface/IdealMagneticFieldRecord.h
"
4
5
#include "
FWCore/Framework/interface/EventSetup.h
"
6
#include "
FWCore/Framework/interface/ESHandle.h
"
7
#include "
FWCore/Framework/interface/ModuleFactory.h
"
8
#include "
FWCore/Framework/interface/ESProducer.h
"
9
#include <
FWCore/Utilities/interface/ESInputTag.h
>
10
11
#include <string>
12
#include <memory>
13
14
using namespace
edm;
15
16
AnalyticalPropagatorESProducer::AnalyticalPropagatorESProducer
(
const
edm::ParameterSet
&
p
)
17
{
18
std::string
myname = p.
getParameter
<
std::string
>(
"ComponentName"
);
19
pset_ =
p
;
20
setWhatProduced(
this
,myname);
21
}
22
23
AnalyticalPropagatorESProducer::~AnalyticalPropagatorESProducer
() {}
24
25
boost::shared_ptr<Propagator>
26
AnalyticalPropagatorESProducer::produce
(
const
TrackingComponentsRecord
& iRecord){
27
// if (_propagator){
28
// delete _propagator;
29
// _propagator = 0;
30
// }
31
ESHandle<MagneticField>
magfield
;
32
std::string
mfName =
""
;
33
if
(pset_.exists(
"SimpleMagneticField"
))
34
mfName = pset_.getParameter<
std::string
>(
"SimpleMagneticField"
);
35
iRecord.
getRecord
<
IdealMagneticFieldRecord
>().
get
(mfName,magfield);
36
// edm::ESInputTag mfESInputTag(mfName);
37
// iRecord.getRecord<IdealMagneticFieldRecord>().get(mfESInputTag,magfield);
38
39
std::string
pdir = pset_.getParameter<
std::string
>(
"PropagationDirection"
);
40
double
dphiCut = pset_.getParameter<
double
>(
"MaxDPhi"
);
41
42
PropagationDirection
dir
=
alongMomentum
;
43
44
if
(pdir ==
"oppositeToMomentum"
) dir =
oppositeToMomentum
;
45
if
(pdir ==
"alongMomentum"
) dir =
alongMomentum
;
46
if
(pdir ==
"anyDirection"
) dir =
anyDirection
;
47
48
_propagator = boost::shared_ptr<Propagator>(
new
AnalyticalPropagator
(&(*magfield), dir,dphiCut));
49
return
_propagator;
50
}
51
52
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
AnalyticalPropagatorESProducer::~AnalyticalPropagatorESProducer
virtual ~AnalyticalPropagatorESProducer()
Definition:
AnalyticalPropagatorESProducer.cc:23
anyDirection
Definition:
PropagationDirection.h:4
TrackingComponentsRecord
Definition:
TrackingComponentsRecord.h:13
EventSetup.h
HLT_ES_cff.magfield
tuple magfield
Definition:
HLT_ES_cff.py:2311
ESInputTag.h
alongMomentum
Definition:
PropagationDirection.h:4
IdealMagneticFieldRecord
Definition:
IdealMagneticFieldRecord.h:12
AnalyticalPropagatorESProducer::produce
boost::shared_ptr< Propagator > produce(const TrackingComponentsRecord &)
Definition:
AnalyticalPropagatorESProducer.cc:26
PropagationDirection
PropagationDirection
Definition:
PropagationDirection.h:4
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
MagneticField.h
edm::eventsetup::DependentRecordImplementation::getRecord
const DepRecordT & getRecord() const
Definition:
DependentRecordImplementation.h:46
edm::ESHandle< MagneticField >
ESHandle.h
ESProducer.h
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
AnalyticalPropagatorESProducer::AnalyticalPropagatorESProducer
AnalyticalPropagatorESProducer(const edm::ParameterSet &p)
Definition:
AnalyticalPropagatorESProducer.cc:16
AnalyticalPropagatorESProducer.h
edm::ParameterSet
Definition:
ParameterSet.h:35
ModuleFactory.h
dir
dbl *** dir
Definition:
mlp_gen.cc:35
oppositeToMomentum
Definition:
PropagationDirection.h:4
AnalyticalPropagator_cfi.AnalyticalPropagator
tuple AnalyticalPropagator
Definition:
AnalyticalPropagator_cfi.py:3
IdealMagneticFieldRecord.h
Generated for CMSSW Reference Manual by
1.8.5