CMS 3D CMS Logo

SharedResourceNames.h
Go to the documentation of this file.
1 #ifndef FWCore_Concurrency_SharedResourceNames_h
2 #define FWCore_Concurrency_SharedResourceNames_h
3 //
4 // Package: Concurrency
5 // Class : ShareResourceNames
6 //
12 //
13 // Original Author: W. David Dagenhart
14 // Created: 19 November 2013
15 //
16 
17 #include <string>
18 
19 namespace edm {
21  public:
22  // GEANT 4.9.X needs to be declared a shared resource
23  // In the future, 4.10.X and later might not need to be
24  static const std::string kGEANT;
26  static const std::string kPythia6;
27  static const std::string kPythia8;
28  static const std::string kPhotos;
29  static const std::string kTauola;
30  static const std::string kEvtGen;
31  };
32 
33  //ES modules can not share resources with ED modules
35  public:
36  static const std::string kDDGeometry;
37  static const std::string kDD4hep;
38  };
39 
40  // Each time the following function is called, it returns a different
41  // name. The purpose is to address the following problem.
42  // A few classes that are modules sometimes use shared resources
43  // and sometimes do not use shared resources. It depends on their
44  // configuration and also on their template parameters. These classes
45  // have to always inherit from the SharedResources base class. If
46  // they do not declare any share resources the Framework assumes
47  // they depend on all possible shared resources. This causes performance
48  // problems. In the cases where they really do not use any shared
49  // resources, one has to declare something to avoid the default
50  // assumption that they depend on everything. If a nonexistent
51  // shared resource is declared and as long as nothing else declares
52  // the same shared resource name, there will be no performance effects.
53  // This function provides a unique name to be used for that purpose.
55 } // namespace edm
56 #endif
static const std::string kDD4hep
static const std::string kTauola
static const std::string kPhotos
static const std::string kPythia6
static const std::string kEvtGen
static const std::string kGEANT
static const std::string kDDGeometry
static const std::string kCLHEPRandomEngine
HLT enums.
static const std::string kPythia8
std::string uniqueSharedResourceName()