16 #include "boost/bind.hpp"
30 using namespace fwlite;
87 TObject*
obj =
m_file->Get(realName.c_str());
91 TTree*
tree =
dynamic_cast<TTree*
>(
obj);
102 TObject*
obj =
m_file->Get(treeName.c_str());
104 throw cms::Exception(
"UnknownRecord")<<
"The TTree for the record "<<iRecordName<<
" does not exist "<<
m_file->GetName();
106 TTree*
tree =
dynamic_cast<TTree*
>(
obj);
108 throw cms::Exception(
"UnknownRecord")<<
"The object corresponding to "<<iRecordName<<
" in file "<<
m_file->GetName()<<
" is not a TTree and therefore is not a Record";
111 throw cms::Exception(
"UnknownRecord")<<
"The TTree corresponding to "<<iRecordName<<
" in file "<<
m_file->GetName()<<
" does not have the proper structure to be a Record";
114 std::string
name(iRecordName);
115 for(std::vector<Record*>::iterator it =
m_records.begin(), itEnd=
m_records.end(); it!=itEnd;++it){
116 if((*it)->name()==
name) {
134 std::vector<std::string>
137 std::vector<std::string> returnValue;
142 while(TObject*
obj =
next() ) {
143 TKey*
key =
static_cast<TKey*
> (
obj);
144 if(0==strcmp(key->GetClassName(),
"TTree")) {
void syncTo(const edm::EventID &, const edm::Timestamp &)
std::vector< std::string > namesOfAvailableRecords() const
std::vector< Record * > m_records
RecordID recordID(const char *iRecordName) const
std::string unformat_mangled_to_type(const std::string &)
given a mangled name return the C++ class name
std::string format_type_to_mangled(const std::string &)
given a C++ class name returned a mangled name
void syncTo(const edm::EventID &, const edm::Timestamp &)
bool exists(const char *iRecordName) const
const Record & get(const RecordID &) const