40 vector<string> noPropagators;
41 vector<string> propagatorNames;
70 if(propagatorNames.empty())
71 LogDebug(
"Muon|RecoMuon|MuonServiceProxy") <<
"NO propagator(s) selected!";
73 for(vector<string>::iterator propagatorName = propagatorNames.begin();
74 propagatorName != propagatorNames.end(); ++propagatorName)
95 thePropagators.clear();
96 if(theSchool)
delete theSchool;
105 theEventSetup = &
setup;
109 if ( newCacheId_GTG != theCacheId_GTG ) {
110 LogTrace(metname) <<
"GlobalTrackingGeometry changed!";
111 theCacheId_GTG = newCacheId_GTG;
117 if ( newCacheId_MG != theCacheId_MG ) {
118 LogTrace(metname) <<
"Magnetic Field changed!";
119 theCacheId_MG = newCacheId_MG;
125 if ( newCacheId_DG != theCacheId_DG ) {
126 LogTrace(metname) <<
"Muon Reco Geometry changed!";
127 theCacheId_DG = newCacheId_DG;
131 if ( theMuonNavigationFlag ) {
132 if(theSchool)
delete theSchool;
133 theSchool =
new MuonNavigationSchool(&*theDetLayerGeometry,theRPCLayer,theCSCLayer,theGEMLayer,theME0Layer);
139 if ( newCacheId_P != theCacheId_P ) {
140 LogTrace(metname) <<
"Tracking Component changed!";
141 theChangeInTrackingComponentsRecord =
true;
142 theCacheId_P = newCacheId_P;
143 for(propagators::iterator prop = thePropagators.begin(); prop != thePropagators.end();
148 theChangeInTrackingComponentsRecord =
false;
155 propagators::const_iterator prop = thePropagators.find(propagatorName);
157 if (prop == thePropagators.end()){
158 LogError(
"Muon|RecoMuon|MuonServiceProxy")
159 <<
"MuonServiceProxy: propagator with name: "<< propagatorName <<
" not found! Please load it in the MuonServiceProxy.cff";
void update(const edm::EventSetup &setup)
update the services each event
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
unsigned long long theCacheId_MG
unsigned long long theCacheId_P
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
const std::string metname
virtual ~MuonServiceProxy()
Destructor.
bool theChangeInTrackingComponentsRecord
unsigned long long theCacheId_DG
void get(HolderT &iHolder) const
bool theMuonNavigationFlag
propagators thePropagators
MuonServiceProxy(const edm::ParameterSet &par)
Constructor.
unsigned long long theCacheId_GTG
volatile std::atomic< bool > shutdown_flag false
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
edm::ESHandle< Propagator > propagator(std::string propagatorName) const
get the propagator