Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
TrackPropagation
Geant4e
plugins
GeantPropagatorESProducer.cc
Go to the documentation of this file.
1
#include "
GeantPropagatorESProducer.h
"
2
#include "
TrackPropagation/Geant4e/interface/Geant4ePropagator.h
"
3
#include "
MagneticField/Engine/interface/MagneticField.h
"
4
#include "
MagneticField/Records/interface/IdealMagneticFieldRecord.h
"
5
6
#include "
FWCore/Framework/interface/EventSetup.h
"
7
#include "
FWCore/Framework/interface/ESHandle.h
"
8
#include "
FWCore/Framework/interface/ModuleFactory.h
"
9
#include "
FWCore/Framework/interface/ESProducer.h
"
10
11
#include <string>
12
#include <memory>
13
14
using namespace
edm;
15
16
GeantPropagatorESProducer::GeantPropagatorESProducer
(
const
edm::ParameterSet
&
p
)
17
{
18
std::string myname = p.
getParameter
<std::string>(
"ComponentName"
);
19
pset_ =
p
;
20
setWhatProduced(
this
,myname);
21
}
22
23
GeantPropagatorESProducer::~GeantPropagatorESProducer
() {}
24
25
boost::shared_ptr<Propagator>
26
GeantPropagatorESProducer::produce
(
const
TrackingComponentsRecord
& iRecord){
27
28
ESHandle<MagneticField>
magfield
;
29
iRecord.
getRecord
<
IdealMagneticFieldRecord
>().
get
(magfield );
30
31
32
std::string pdir = pset_.getParameter<std::string>(
"PropagationDirection"
);
33
std::string particleName = pset_.getParameter<std::string>(
"ParticleName"
);
34
const
char
*
part
= particleName.c_str();
35
36
PropagationDirection
dir
=
alongMomentum
;
37
38
if
(pdir ==
"oppositeToMomentum"
) dir =
oppositeToMomentum
;
39
if
(pdir ==
"alongMomentum"
) dir =
alongMomentum
;
40
if
(pdir ==
"anyDirection"
) dir =
anyDirection
;
41
42
_propagator = boost::shared_ptr<Propagator>(
new
Geant4ePropagator
(&(*magfield),part,dir));
43
return
_propagator;
44
}
45
46
GeantPropagatorESProducer::~GeantPropagatorESProducer
virtual ~GeantPropagatorESProducer()
Definition:
GeantPropagatorESProducer.cc:23
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
anyDirection
Definition:
PropagationDirection.h:4
TrackingComponentsRecord
Definition:
TrackingComponentsRecord.h:13
EventSetup.h
alongMomentum
Definition:
PropagationDirection.h:4
IdealMagneticFieldRecord
Definition:
IdealMagneticFieldRecord.h:11
PropagationDirection
PropagationDirection
Definition:
PropagationDirection.h:4
GeantPropagatorESProducer.h
MagneticField.h
edm::eventsetup::DependentRecordImplementation::getRecord
const DepRecordT & getRecord() const
Definition:
DependentRecordImplementation.h:46
Geant4ePropagator.h
edm::ESHandle< MagneticField >
ESHandle.h
part
part
Definition:
HCALResponse.h:21
autoMagneticFieldProducer_cfi.magfield
tuple magfield
Definition:
autoMagneticFieldProducer_cfi.py:6
L1TEmulatorMonitor_cff.p
tuple p
Definition:
L1TEmulatorMonitor_cff.py:48
ESProducer.h
GeantPropagatorESProducer::GeantPropagatorESProducer
GeantPropagatorESProducer(const edm::ParameterSet &p)
Definition:
GeantPropagatorESProducer.cc:16
GeantPropagatorESProducer::produce
boost::shared_ptr< Propagator > produce(const TrackingComponentsRecord &)
Definition:
GeantPropagatorESProducer.cc:26
edm::ParameterSet
Definition:
ParameterSet.h:31
ModuleFactory.h
dir
dbl *** dir
Definition:
mlp_gen.cc:35
Geant4ePropagator_cfi.Geant4ePropagator
tuple Geant4ePropagator
Definition:
Geant4ePropagator_cfi.py:3
oppositeToMomentum
Definition:
PropagationDirection.h:4
IdealMagneticFieldRecord.h
Generated for CMSSW Reference Manual by
1.8.5