2 #ifndef RIVET_ProjectionHandler_HH 3 #define RIVET_ProjectionHandler_HH 5 #include "Rivet/Config/RivetCommon.hh" 6 #include "Rivet/Projection.fhh" 60 typedef map<const ProjectionApplier*, NamedProjs> NamedProjsMap;
64 NamedProjsMap _namedprojs;
118 ProjHandle _getEquiv(
const Projection& proj)
const;
121 unique_ptr<Projection> _clone(
const Projection& proj);
129 string _getStatus()
const;
134 const string& name)
const;
152 const string& name)
const;
Definition: ALICE_2010_I880049.cc:13
static ProjectionHandler & getInstance()
Singleton creation function.
Definition: ProjectionHandler.hh:94
std::shared_ptr< const Projection > ProjHandle
Typedef for Projection (smart) pointer.
Definition: ProjectionHandler.hh:12
set< const Projection * > getChildProjections(const ProjectionApplier &parent, ProjDepth depth=SHALLOW) const
Definition: ProjectionHandler.cc:209
const Projection & registerProjection(const ProjectionApplier &parent, const Projection &proj, const string &name)
Attach and retrieve a projection as a reference.
Definition: ProjectionHandler.cc:20
ProjDepth
Enum to specify depth of projection search.
Definition: ProjectionHandler.hh:53
set< ProjHandle > ProjHandles
Typedef for a vector of Projection pointers.
Definition: ProjectionHandler.hh:46
The projection handler is a central repository for projections to be used in a Rivet analysis run...
Definition: ProjectionHandler.hh:39
const Projection & getProjection(const ProjectionApplier &parent, const string &name) const
Definition: ProjectionHandler.cc:241
Common base class for Projection and Analysis, used for internal polymorphism.
Definition: ProjectionApplier.hh:21
map< string, ProjHandle > NamedProjs
Typedef for the structure used to contain named projections for a particular containing Analysis or P...
Definition: ProjectionHandler.hh:50
bool hasProjection(const ProjectionApplier &parent, const string &name) const
Check if there is a name projection registered by parent.
Definition: ProjectionHandler.cc:232
Base class for all Rivet projections.
Definition: Projection.hh:29