35 : pset_{p}, setVBFPointer_{pset_.
getParameter<
bool>(
"SetVBFPointer")} {
37 auto c = setWhatProduced(
this, myname);
57 if (pdir ==
"oppositeToMomentum")
59 if (pdir ==
"alongMomentum")
61 if (pdir ==
"anyDirection")
64 std::unique_ptr<SteppingHelixPropagator> shProp;
65 shProp = std::make_unique<SteppingHelixPropagator>(&
magfield,
dir);
72 if (useMagVolumes ==
true && !useInTeslaFromMagField && !
setVBFPointer_ && magfield.nominalValue() == 0) {
74 if (vbfCPtr ==
nullptr) {
76 <<
"Config specifies useMagVolumes==True but no VBF field available: SHP has no access to yoke material "
77 "properties. Use setVBFPointer=true and VBFName cards to set a VBF field, otherwise set "
78 "useMagVolumes==False."
82 <<
"Config specifies useMagVolumes==true and VBF field available: Forcing useInTeslaFromMagField = True."
84 useInTeslaFromMagField =
true;
91 shProp->setVBFPointer(vbfCPtr);
94 shProp->setUseInTeslaFromMagField(useInTeslaFromMagField);
97 shProp->applyRadX0Correction(haveX0Corr);
100 shProp->setMaterialMode(assumeNoMaterial);
103 shProp->setNoErrorPropagation(noErrorPropagation);
106 shProp->setDebug(debugMode);
108 shProp->setUseMagVolumes(useMagVolumes);
111 shProp->setUseMatVolumes(useMatVolumes);
114 shProp->setUseIsYokeFlag(useIsYokeFlag);
117 shProp->setReturnTangentPlane(returnTangentPlane);
120 shProp->setSendLogWarning(sendLogWarning);
123 shProp->setUseTuningForL2Speed(useTuningForL2Speed);
129 shProp->setEndcapShiftsInZPosNeg(valPos, valNeg);
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magToken_
std::unique_ptr< Propagator > produce(const TrackingComponentsRecord &)
const edm::EventSetup & c
const bool setVBFPointer_
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
SteppingHelixPropagatorESProducer(const edm::ParameterSet &p)
Log< level::Info, false > LogInfo
tuple useTuningForL2Speed
T getParameter(std::string const &) const
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > vbMagToken_
~SteppingHelixPropagatorESProducer() override
const edm::ParameterSet pset_
Log< level::Warning, false > LogWarning
tuple useInTeslaFromMagField