57 if (pdir ==
"oppositeToMomentum")
59 if (pdir ==
"alongMomentum")
61 if (pdir ==
"anyDirection")
64 std::unique_ptr<SteppingHelixPropagator> shProp;
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 &)
T getParameter(std::string const &) const
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
const bool setVBFPointer_
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
SteppingHelixPropagatorESProducer(const edm::ParameterSet &p)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > vbMagToken_
~SteppingHelixPropagatorESProducer() override
const edm::ParameterSet pset_