39 vector<string> noPropagators;
40 vector<string> propagatorNames;
63 if(propagatorNames.empty())
64 LogDebug(
"Muon|RecoMuon|MuonServiceProxy") <<
"NO propagator(s) selected!";
66 for(vector<string>::iterator propagatorName = propagatorNames.begin();
67 propagatorName != propagatorNames.end(); ++propagatorName)
88 thePropagators.clear();
89 if(theSchool)
delete theSchool;
98 theEventSetup = &
setup;
102 if ( newCacheId_GTG != theCacheId_GTG ) {
103 LogTrace(metname) <<
"GlobalTrackingGeometry changed!";
104 theCacheId_GTG = newCacheId_GTG;
110 if ( newCacheId_MG != theCacheId_MG ) {
111 LogTrace(metname) <<
"Magnetic Field changed!";
112 theCacheId_MG = newCacheId_MG;
118 if ( newCacheId_DG != theCacheId_DG ) {
119 LogTrace(metname) <<
"Muon Reco Geometry changed!";
120 theCacheId_DG = newCacheId_DG;
124 if ( theMuonNavigationFlag ) {
125 if(theSchool)
delete theSchool;
126 theSchool =
new MuonNavigationSchool(&*theDetLayerGeometry,theRPCLayer,theCSCLayer,theGEMLayer);
132 if ( newCacheId_P != theCacheId_P ) {
133 LogTrace(metname) <<
"Tracking Component changed!";
134 theChangeInTrackingComponentsRecord =
true;
135 theCacheId_P = newCacheId_P;
136 for(propagators::iterator prop = thePropagators.begin(); prop != thePropagators.end();
141 theChangeInTrackingComponentsRecord =
false;
148 propagators::const_iterator prop = thePropagators.find(propagatorName);
150 if (prop == thePropagators.end()){
151 LogError(
"Muon|RecoMuon|MuonServiceProxy")
152 <<
"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