CMS 3D CMS Logo

CurrentProcessingContext.h

Go to the documentation of this file.
00001 #ifndef FWCore_Framework_CurrentProcessingContext
00002 #define FWCore_Framework_CurrentProcessingContext
00003 
00016 
00017 #include <cstddef> // for size_t
00018 #include <string>
00019 
00020 #include "FWCore/Framework/interface/Frameworkfwd.h"
00021 
00022 namespace edm
00023 {
00024   class CurrentProcessingContext
00025   {
00026   public:
00027 
00029     CurrentProcessingContext();
00030 
00033     CurrentProcessingContext(std::string const* name,
00034                              int bitpos, bool isEndPth);
00035 
00039     
00042     std::string const* moduleLabel() const;
00043 
00044 
00047     std::string const* pathName() const;
00048 
00051     ModuleDescription const* moduleDescription() const;
00052 
00056     int pathInSchedule() const;
00057 
00060     int slotInPath() const;
00061 
00063     bool isEndPath() const;
00064 
00066     void activate(std::size_t theSlotInPath,
00067                   ModuleDescription const* mod);
00068 
00070     void deactivate();
00071 
00072   private:
00073 
00074     // N.B.: We own none of the pointed-to resources!
00075     int                      pathInSchedule_;
00076     std::size_t              slotInPath_;
00077     ModuleDescription const* moduleDescription_;
00078     std::string const*       pathName_;
00079     bool                     isEndPath_;
00080 
00081     bool is_active() const { return moduleDescription_ != 0; }
00082   };
00083 }
00084 
00085 
00086 #endif

Generated on Tue Jun 9 17:35:22 2009 for CMSSW by  doxygen 1.5.4