#include <DataFormats/Provenance/interface/EventEntryDescription.h>
Public Member Functions | |
EventEntryDescription () | |
EntryDescriptionID | id () const |
ModuleDescription const & | moduleDescription () const |
ModuleDescriptionID & | moduleDescriptionID () |
ModuleDescriptionID const & | moduleDescriptionID () const |
std::string const & | moduleName () const |
std::vector< BranchID > & | parents () |
std::vector< BranchID > const & | parents () const |
PassID const & | passID () const |
ParameterSetID const & | psetID () const |
ReleaseVersion const & | releaseVersion () const |
void | setDefaultTransients () const |
void | write (std::ostream &os) const |
~EventEntryDescription () | |
Private Member Functions | |
boost::shared_ptr < ModuleDescription > & | getModuleDescriptionPtr () const |
void | init () const |
boost::shared_ptr < ModuleDescription > & | moduleDescriptionPtr () const |
Private Attributes | |
ModuleDescriptionID | moduleDescriptionID_ |
std::vector< BranchID > | parents_ |
Transient< Transients > | transients_ |
Classes | |
struct | Transients |
Definition at line 31 of file EventEntryDescription.h.
edm::EventEntryDescription::EventEntryDescription | ( | ) |
Definition at line 11 of file EventEntryDescription.cc.
00011 : 00012 parents_(), 00013 moduleDescriptionID_(), 00014 transients_() 00015 { }
edm::EventEntryDescription::~EventEntryDescription | ( | ) | [inline] |
boost::shared_ptr<ModuleDescription>& edm::EventEntryDescription::getModuleDescriptionPtr | ( | ) | const [inline, private] |
Definition at line 65 of file EventEntryDescription.h.
References init(), and transients_.
Referenced by moduleDescription(), moduleName(), passID(), psetID(), and releaseVersion().
00065 { 00066 init(); 00067 return transients_.get().moduleDescriptionPtr_; 00068 }
EntryDescriptionID edm::EventEntryDescription::id | ( | void | ) | const |
Definition at line 28 of file EventEntryDescription.cc.
References cms::Digest::digest(), e, i, moduleDescriptionID_, and parents_.
Referenced by edm::RootFile::readEntryDescriptionTree().
00029 { 00030 // This implementation is ripe for optimization. 00031 std::ostringstream oss; 00032 oss << moduleDescriptionID_ << ' '; 00033 for (std::vector<BranchID>::const_iterator 00034 i = parents_.begin(), 00035 e = parents_.end(); 00036 i != e; 00037 ++i) 00038 { 00039 oss << *i << ' '; 00040 } 00041 00042 std::string stringrep = oss.str(); 00043 cms::Digest md5alg(stringrep); 00044 return EntryDescriptionID(md5alg.digest().toString()); 00045 }
Definition at line 18 of file EventEntryDescription.cc.
References edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), moduleDescriptionID_, and moduleDescriptionPtr().
Referenced by getModuleDescriptionPtr().
00018 { 00019 if (!moduleDescriptionPtr()) { 00020 moduleDescriptionPtr().reset(new ModuleDescription); 00021 bool found = ModuleDescriptionRegistry::instance()->getMapped(moduleDescriptionID_, *moduleDescriptionPtr()); 00022 00023 assert(found); 00024 } 00025 }
ModuleDescription const& edm::EventEntryDescription::moduleDescription | ( | ) | const [inline] |
Definition at line 51 of file EventEntryDescription.h.
References getModuleDescriptionPtr().
Referenced by edm::Provenance::moduleDescription().
00051 {return *getModuleDescriptionPtr();}
ModuleDescriptionID& edm::EventEntryDescription::moduleDescriptionID | ( | ) | [inline] |
Definition at line 50 of file EventEntryDescription.h.
References moduleDescriptionID_.
00050 {return moduleDescriptionID_;}
ModuleDescriptionID const& edm::EventEntryDescription::moduleDescriptionID | ( | ) | const [inline] |
Definition at line 49 of file EventEntryDescription.h.
References moduleDescriptionID_.
Referenced by edm::Provenance::moduleDescriptionID(), edm::operator==(), edm::RootFile::readEntryDescriptionTree(), edm::RunLumiEntryInfo::RunLumiEntryInfo(), edm::StreamSerializer::serializeEvent(), and write().
00049 {return moduleDescriptionID_;}
boost::shared_ptr<ModuleDescription>& edm::EventEntryDescription::moduleDescriptionPtr | ( | ) | const [inline, private] |
Definition at line 70 of file EventEntryDescription.h.
References transients_.
Referenced by init().
00070 { 00071 return transients_.get().moduleDescriptionPtr_; 00072 }
std::string const& edm::EventEntryDescription::moduleName | ( | ) | const [inline] |
Definition at line 42 of file EventEntryDescription.h.
References getModuleDescriptionPtr().
Referenced by edm::Provenance::moduleName().
00042 {return getModuleDescriptionPtr()->moduleName_;}
std::vector<BranchID>& edm::EventEntryDescription::parents | ( | ) | [inline] |
Definition at line 47 of file EventEntryDescription.h.
References parents_.
00047 {return parents_;}
std::vector<BranchID> const& edm::EventEntryDescription::parents | ( | ) | const [inline] |
Definition at line 46 of file EventEntryDescription.h.
References parents_.
Referenced by edm::OutputModule::fillDependencyGraph(), edm::RootOutputFile::insertAncestors(), edm::markAncestors(), edm::operator==(), edm::Provenance::parents(), and edm::StreamSerializer::serializeEvent().
00046 {return parents_;}
PassID const& edm::EventEntryDescription::passID | ( | ) | const [inline] |
Definition at line 43 of file EventEntryDescription.h.
References getModuleDescriptionPtr().
Referenced by edm::Provenance::passID().
00043 {return getModuleDescriptionPtr()->passID();}
ParameterSetID const& edm::EventEntryDescription::psetID | ( | ) | const [inline] |
Definition at line 44 of file EventEntryDescription.h.
References getModuleDescriptionPtr().
Referenced by edm::Provenance::psetID().
00044 {return getModuleDescriptionPtr()->parameterSetID();}
ReleaseVersion const& edm::EventEntryDescription::releaseVersion | ( | ) | const [inline] |
Definition at line 45 of file EventEntryDescription.h.
References getModuleDescriptionPtr().
Referenced by edm::Provenance::releaseVersion().
00045 {return getModuleDescriptionPtr()->releaseVersion();}
void edm::EventEntryDescription::setDefaultTransients | ( | ) | const [inline] |
Definition at line 58 of file EventEntryDescription.h.
References transients_.
00058 { 00059 transients_ = Transients(); 00060 };
void edm::EventEntryDescription::write | ( | std::ostream & | os | ) | const |
Definition at line 49 of file EventEntryDescription.cc.
References moduleDescriptionID().
Referenced by edm::operator<<().
00049 { 00050 // This is grossly inadequate, but it is not critical for the 00051 // first pass. 00052 os << "Module Description ID = " << moduleDescriptionID() << '\n'; 00053 }
Definition at line 79 of file EventEntryDescription.h.
Referenced by id(), init(), and moduleDescriptionID().
std::vector<BranchID> edm::EventEntryDescription::parents_ [private] |
Transient<Transients> edm::EventEntryDescription::transients_ [mutable, private] |
Definition at line 81 of file EventEntryDescription.h.
Referenced by getModuleDescriptionPtr(), moduleDescriptionPtr(), and setDefaultTransients().