CMS 3D CMS Logo

PSetNode.h

Go to the documentation of this file.
00001 #ifndef ParameterSet_PSetNode_h
00002 #define ParameterSet_PSetNode_h
00003 
00004 #include "FWCore/ParameterSet/interface/CompositeNode.h"
00005 
00006 namespace edm {
00007   namespace pset {
00008 
00009     class PSetNode : public CompositeNode
00010     {
00011     public:
00012       PSetNode(const std::string& typ,
00013                const std::string& name,
00014                NodePtrListPtr value,
00015                bool untracked,
00016                int line=-1);
00017       virtual Node * clone() const { return new PSetNode(*this);}
00018       virtual std::string type() const;
00019       virtual bool isTracked() const {return tracked_;}
00020 
00022       virtual void dotDelimitedPath(std::string & path) const;
00023       virtual void print(std::ostream& ost, PrintOptions options) const;
00024       virtual bool isModified() const;
00025 
00026       virtual void accept(Visitor& v) const;
00027       virtual bool isReplaceable() const {return (type() != "process");}
00028       virtual void replaceWith(const ReplaceNode * replaceNode);
00029 
00031       virtual edm::Entry makeEntry() const;
00033       virtual void insertInto(edm::ParameterSet & pset) const;
00035       virtual void insertInto(edm::ProcessDesc & procDesc) const;
00038       void fillProcess(edm::ProcessDesc & procDesc) const;
00039 
00040     private:
00041       std::string type_;
00042       bool tracked_;
00043     };
00044 
00045   }
00046 }
00047 
00048 #endif
00049 

Generated on Tue Jun 9 17:36:26 2009 for CMSSW by  doxygen 1.5.4