CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes
fwlite::internal::Strategy Class Reference
Inheritance diagram for fwlite::internal::Strategy:
fwlite::internal::BMRStrategy fwlite::internal::BranchMapReaderStrategyV1 fwlite::internal::BranchMapReaderStrategyV11 fwlite::internal::BranchMapReaderStrategyV17 fwlite::internal::BranchMapReaderStrategyV8 fwlite::internal::BranchMapReaderStrategyV7

Public Types

typedef std::map< edm::BranchID, edm::BranchDescriptionbidToDesc
 

Public Member Functions

edm::BranchDescription const & branchIDToBranch (edm::BranchID const &bid) const override
 
std::vector< edm::BranchDescription > const & getBranchDescriptions () override
 
TBranch * getBranchRegistry (edm::ProductRegistry **pReg)
 
edm::BranchDescription const & productToBranch (edm::ProductID const &pid) override
 
edm::BranchID productToBranchID (edm::ProductID const &pid) override
 
 Strategy (TFile *file, int fileVersion)
 
edm::ThinnedAssociationsHelper const & thinnedAssociationsHelper () const override
 
bool updateEvent (Long_t eventEntry) override
 
bool updateFile (TFile *file) override
 
bool updateLuminosityBlock (Long_t luminosityBlockEntry) override
 
bool updateMap () override
 
bool updateRun (Long_t runEntry) override
 
 ~Strategy () override
 
- Public Member Functions inherited from fwlite::internal::BMRStrategy
 BMRStrategy (TFile *file, int fileVersion)
 
virtual const edm::BranchDescriptionbranchIDToBranch (const edm::BranchID &bid) const =0
 
virtual const edm::BranchListIndexesbranchListIndexes () const =0
 
virtual const edm::BranchDescriptionproductToBranch (const edm::ProductID &pid)=0
 
virtual edm::BranchID productToBranchID (const edm::ProductID &pid)=0
 
virtual ~BMRStrategy ()
 

Public Attributes

std::vector< edm::BranchDescriptionbDesc_
 
bidToDesc branchDescriptionMap_
 
bool mapperFilled_
 
edm::propagate_const< std::unique_ptr< edm::ThinnedAssociationsHelper > > thinnedAssociationsHelper_
 
- Public Attributes inherited from fwlite::internal::BMRStrategy
edm::propagate_const< TFile * > currentFile_
 
Long_t eventEntry_
 
edm::propagate_const< TTree * > eventTree_
 
TUUID fileUUID_
 
int fileVersion_
 
Long_t luminosityBlockEntry_
 
edm::propagate_const< TTree * > luminosityBlockTree_
 
Long_t runEntry_
 
edm::propagate_const< TTree * > runTree_
 

Detailed Description

Definition at line 57 of file BranchMapReader.cc.

Member Typedef Documentation

Definition at line 59 of file BranchMapReader.cc.

Constructor & Destructor Documentation

fwlite::internal::Strategy::Strategy ( TFile *  file,
int  fileVersion 
)

Definition at line 93 of file BranchMapReader.cc.

94  : BMRStrategy(file, fileVersion),
95  mapperFilled_(false),
97  // do in derived obects
98  // updateFile(file);
99  }
BMRStrategy(TFile *file, int fileVersion)
edm::propagate_const< std::unique_ptr< edm::ThinnedAssociationsHelper > > thinnedAssociationsHelper_
fwlite::internal::Strategy::~Strategy ( )
override

Definition at line 101 of file BranchMapReader.cc.

101  {
102  // probably need to clean up something here...
103  }

Member Function Documentation

edm::BranchDescription const & fwlite::internal::Strategy::branchIDToBranch ( edm::BranchID const &  bid) const
override

Definition at line 150 of file BranchMapReader.cc.

References branchDescriptionMap_, and fwlite::internal::kDefaultBranchDescription.

150  {
151  bidToDesc::const_iterator bdi = branchDescriptionMap_.find(bid);
152  if (branchDescriptionMap_.end() == bdi) {
154  }
155  return bdi->second;
156  }
static const edm::BranchDescription kDefaultBranchDescription
std::vector< edm::BranchDescription > const & fwlite::internal::Strategy::getBranchDescriptions ( )
overridevirtual

Implements fwlite::internal::BMRStrategy.

Definition at line 128 of file BranchMapReader.cc.

References bDesc_, and branchDescriptionMap_.

128  {
129  if (bDesc_.empty()) {
130  for (auto const& item : branchDescriptionMap_) {
131  bDesc_.push_back(item.second);
132  }
133  }
134  return bDesc_;
135  }
std::vector< edm::BranchDescription > bDesc_
TBranch * fwlite::internal::Strategy::getBranchRegistry ( edm::ProductRegistry **  pReg)

Definition at line 116 of file BranchMapReader.cc.

References fwlite::internal::BMRStrategy::currentFile_, edm::poolNames::metaDataTreeName(), and edm::poolNames::productDescriptionBranchName().

Referenced by fwlite::internal::BranchMapReaderStrategyV8::updateFile(), fwlite::internal::BranchMapReaderStrategyV11::updateFile(), fwlite::internal::BranchMapReaderStrategyV17::updateFile(), and fwlite::internal::BranchMapReaderStrategyV1::updateMap().

116  {
117  TBranch* bReg(nullptr);
118 
119  TTree* metaDataTree = dynamic_cast<TTree*>(currentFile_->Get(edm::poolNames::metaDataTreeName().c_str()));
120  if (nullptr != metaDataTree) {
121  bReg = metaDataTree->GetBranch(edm::poolNames::productDescriptionBranchName().c_str());
122  bReg->SetAddress(ppReg);
123  bReg->GetEntry(0);
124  }
125  return bReg;
126  }
edm::propagate_const< TFile * > currentFile_
std::string const & metaDataTreeName()
Definition: BranchType.cc:169
std::string const & productDescriptionBranchName()
Definition: BranchType.cc:174
edm::BranchDescription const & fwlite::internal::Strategy::productToBranch ( edm::ProductID const &  pid)
override

Definition at line 141 of file BranchMapReader.cc.

References branchDescriptionMap_, fwlite::internal::kDefaultBranchDescription, and productToBranchID().

141  {
143  bidToDesc::const_iterator bdi = branchDescriptionMap_.find(bid);
144  if (branchDescriptionMap_.end() == bdi) {
146  }
147  return bdi->second;
148  }
edm::BranchID productToBranchID(edm::ProductID const &pid) override
static const edm::BranchDescription kDefaultBranchDescription
edm::BranchID fwlite::internal::Strategy::productToBranchID ( edm::ProductID const &  pid)
override

Definition at line 137 of file BranchMapReader.cc.

References Exception, and edm::errors::UnimplementedFeature.

Referenced by productToBranch().

137  {
138  throw edm::Exception(edm::errors::UnimplementedFeature) << "Unsupported EDM file version";
139  }
edm::ThinnedAssociationsHelper const& fwlite::internal::Strategy::thinnedAssociationsHelper ( ) const
inlineoverridevirtual

Implements fwlite::internal::BMRStrategy.

Definition at line 81 of file BranchMapReader.cc.

81  {
83  }
edm::propagate_const< std::unique_ptr< edm::ThinnedAssociationsHelper > > thinnedAssociationsHelper_
bool fwlite::internal::Strategy::updateEvent ( Long_t  eventEntry)
inlineoverridevirtual
bool fwlite::internal::Strategy::updateFile ( TFile *  file)
overridevirtual

Implements fwlite::internal::BMRStrategy.

Reimplemented in fwlite::internal::BranchMapReaderStrategyV17, fwlite::internal::BranchMapReaderStrategyV11, fwlite::internal::BranchMapReaderStrategyV8, and fwlite::internal::BranchMapReaderStrategyV1.

Definition at line 105 of file BranchMapReader.cc.

References bDesc_, branchDescriptionMap_, fwlite::internal::BMRStrategy::currentFile_, fwlite::internal::BMRStrategy::eventTree_, edm::poolNames::eventTreeName(), FrontierConditions_GlobalTag_cff::file, fwlite::internal::BMRStrategy::fileUUID_, fwlite::internal::BMRStrategy::luminosityBlockTree_, edm::poolNames::luminosityBlockTreeName(), fwlite::internal::BMRStrategy::runTree_, and edm::poolNames::runTreeName().

Referenced by fwlite::internal::BranchMapReaderStrategyV1::updateFile(), fwlite::internal::BranchMapReaderStrategyV8::updateFile(), fwlite::internal::BranchMapReaderStrategyV11::updateFile(), and fwlite::internal::BranchMapReaderStrategyV17::updateFile().

105  {
106  currentFile_ = file;
107  eventTree_ = dynamic_cast<TTree*>(currentFile_->Get(edm::poolNames::eventTreeName().c_str()));
108  luminosityBlockTree_ = dynamic_cast<TTree*>(currentFile_->Get(edm::poolNames::luminosityBlockTreeName().c_str()));
109  runTree_ = dynamic_cast<TTree*>(currentFile_->Get(edm::poolNames::runTreeName().c_str()));
110  fileUUID_ = currentFile_->GetUUID();
111  branchDescriptionMap_.clear();
112  bDesc_.clear();
113  return nullptr != eventTree_;
114  }
edm::propagate_const< TFile * > currentFile_
std::string const & luminosityBlockTreeName()
Definition: BranchType.cc:277
std::vector< edm::BranchDescription > bDesc_
edm::propagate_const< TTree * > eventTree_
edm::propagate_const< TTree * > luminosityBlockTree_
std::string const & runTreeName()
Definition: BranchType.cc:280
edm::propagate_const< TTree * > runTree_
std::string const & eventTreeName()
Definition: BranchType.cc:266
bool fwlite::internal::Strategy::updateLuminosityBlock ( Long_t  luminosityBlockEntry)
inlineoverridevirtual
bool fwlite::internal::Strategy::updateMap ( )
inlineoverridevirtual
bool fwlite::internal::Strategy::updateRun ( Long_t  runEntry)
inlineoverridevirtual

Member Data Documentation

std::vector<edm::BranchDescription> fwlite::internal::Strategy::bDesc_
bidToDesc fwlite::internal::Strategy::branchDescriptionMap_
bool fwlite::internal::Strategy::mapperFilled_
edm::propagate_const<std::unique_ptr<edm::ThinnedAssociationsHelper> > fwlite::internal::Strategy::thinnedAssociationsHelper_