![]() |
![]() |
#include <FWCore/Framework/interface/LuminosityBlock.h>
Public Types | |
typedef DataViewImpl | Base |
Public Member Functions | |
Timestamp const & | beginTime () const |
Timestamp const & | endTime () const |
void | getAllProvenance (std::vector< Provenance const * > &provenances) const |
Provenance | getProvenance (BranchID const &theID) const |
Run const & | getRun () const |
LuminosityBlockID | id () const |
LuminosityBlockNumber_t | luminosityBlock () const |
LuminosityBlock (LuminosityBlockPrincipal &lbp, const ModuleDescription &md) | |
template<typename PROD> | |
void | put (std::auto_ptr< PROD > product, std::string const &productInstanceName) |
Put a new product with a 'product instance name'. | |
template<typename PROD> | |
void | put (std::auto_ptr< PROD > product) |
Put a new product. | |
RunNumber_t | run () const |
~LuminosityBlock () | |
Private Member Functions | |
void | commit_ () |
LuminosityBlockPrincipal & | luminosityBlockPrincipal () |
LuminosityBlockPrincipal const & | luminosityBlockPrincipal () const |
Private Attributes | |
LuminosityBlockAuxiliary const & | aux_ |
boost::shared_ptr< Run const > const | run_ |
Friends | |
class | ConfigurableInputSource |
class | DaqSource |
class | EDFilter |
class | EDProducer |
class | InputSource |
class | RawInputSource |
Definition at line 34 of file LuminosityBlock.h.
Definition at line 40 of file LuminosityBlock.h.
LuminosityBlock::LuminosityBlock | ( | LuminosityBlockPrincipal & | lbp, | |
const ModuleDescription & | md | |||
) |
Definition at line 15 of file LuminosityBlock.cc.
00015 : 00016 DataViewImpl(lbp, md, InLumi), 00017 aux_(lbp.aux()), 00018 run_(newRun(lbp, md)) { 00019 }
edm::LuminosityBlock::~LuminosityBlock | ( | ) | [inline] |
Timestamp const& edm::LuminosityBlock::beginTime | ( | ) | const [inline] |
Definition at line 52 of file LuminosityBlock.h.
References aux_, and edm::LuminosityBlockAuxiliary::beginTime().
00052 {return aux_.beginTime();}
void LuminosityBlock::commit_ | ( | ) | [private] |
Definition at line 45 of file LuminosityBlock.cc.
References begin, end, edm::productstatus::present(), and edm::LuminosityBlockPrincipal::put().
Referenced by edm::EDFilter::doBeginLuminosityBlock(), edm::EDProducer::doBeginLuminosityBlock(), edm::InputSource::doEndLumi(), edm::EDFilter::doEndLuminosityBlock(), edm::EDProducer::doEndLuminosityBlock(), and edm::ConfigurableInputSource::readLuminosityBlock_().
00045 { 00046 // fill in guts of provenance here 00047 LuminosityBlockPrincipal & lbp = luminosityBlockPrincipal(); 00048 ProductPtrVec::iterator pit(putProducts().begin()); 00049 ProductPtrVec::iterator pie(putProducts().end()); 00050 00051 while(pit!=pie) { 00052 std::auto_ptr<EDProduct> pr(pit->first); 00053 // note: ownership has been passed - so clear the pointer! 00054 pit->first = 0; 00055 00056 // set provenance 00057 std::auto_ptr<EventEntryInfo> lumiEntryInfoPtr( 00058 new EventEntryInfo(pit->second->branchID(), 00059 productstatus::present(), 00060 pit->second->moduleDescriptionID())); 00061 lbp.put(pr, *pit->second, lumiEntryInfoPtr); 00062 ++pit; 00063 } 00064 00065 // the cleanup is all or none 00066 putProducts().clear(); 00067 }
Timestamp const& edm::LuminosityBlock::endTime | ( | ) | const [inline] |
Definition at line 53 of file LuminosityBlock.h.
References aux_, and edm::LuminosityBlockAuxiliary::endTime().
00053 {return aux_.endTime();}
void LuminosityBlock::getAllProvenance | ( | std::vector< Provenance const * > & | provenances | ) | const |
Definition at line 38 of file LuminosityBlock.cc.
00039 { 00040 luminosityBlockPrincipal().getAllProvenance(provenances); 00041 }
Provenance LuminosityBlock::getProvenance | ( | BranchID const & | theID | ) | const |
Definition at line 32 of file LuminosityBlock.cc.
00033 { 00034 return luminosityBlockPrincipal().getProvenance(bid); 00035 }
Run const& edm::LuminosityBlock::getRun | ( | ) | const [inline] |
Definition at line 64 of file LuminosityBlock.h.
References run_.
Referenced by EDMtoMEConverter::endLuminosityBlock().
00064 { 00065 return *run_; 00066 }
LuminosityBlockID edm::LuminosityBlock::id | ( | void | ) | const [inline] |
Definition at line 48 of file LuminosityBlock.h.
References aux_, and edm::LuminosityBlockAuxiliary::id().
Referenced by DTDigiTask::beginLuminosityBlock(), DTLocalTriggerTask::beginLuminosityBlock(), LumiProducer::beginLuminosityBlock(), HLTPrescaler::beginLuminosityBlock(), EcalEndcapMonitorClient::beginLuminosityBlock(), DTChamberEfficiencyTask::beginLuminosityBlock(), DQMFileSaver::beginLuminosityBlock(), EcalBarrelMonitorClient::beginLuminosityBlock(), DTDigiForNoiseTask::beginLuminosityBlock(), DTEfficiencyTask::beginLuminosityBlock(), DTResolutionAnalysisTask::beginLuminosityBlock(), EcalEndcapMonitorClient::endLuminosityBlock(), DTtTrigCalibrationTest::endLuminosityBlock(), MuonRecoTest::endLuminosityBlock(), DTResolutionAnalysisTest::endLuminosityBlock(), DTChamberEfficiencyTest::endLuminosityBlock(), EDMtoMEConverter::endLuminosityBlock(), QualityTester::endLuminosityBlock(), L1ScalersClient::endLuminosityBlock(), DTSegmentAnalysisTest::endLuminosityBlock(), RPCEventSummary::endLuminosityBlock(), HLTScalersClient::endLuminosityBlock(), L1Scalers::endLuminosityBlock(), RPCQualityTests::endLuminosityBlock(), RPCMultiplicityTest::endLuminosityBlock(), DTEfficiencyTest::endLuminosityBlock(), RPCDeadChannelTest::endLuminosityBlock(), HLTScalers::endLuminosityBlock(), DTDeadChannelTest::endLuminosityBlock(), DTResolutionTest::endLuminosityBlock(), DTNoiseTest::endLuminosityBlock(), EcalBarrelMonitorClient::endLuminosityBlock(), DTDataIntegrityTest::endLuminosityBlock(), and MuonTrackResidualsTest::endLuminosityBlock().
00048 { 00049 return aux_.id(); 00050 }
LuminosityBlockNumber_t edm::LuminosityBlock::luminosityBlock | ( | ) | const [inline] |
Definition at line 42 of file LuminosityBlock.h.
References aux_, and edm::LuminosityBlockAuxiliary::luminosityBlock().
Referenced by RPCMultiplicityTest::beginLuminosityBlock(), SiStripAnalyser::endLuminosityBlock(), SiPixelEDAClient::endLuminosityBlock(), and DTSegmentAnalysisTask::endLuminosityBlock().
00042 {return aux_.luminosityBlock();}
LuminosityBlockPrincipal & LuminosityBlock::luminosityBlockPrincipal | ( | ) | [private] |
Definition at line 22 of file LuminosityBlock.cc.
References cmsRelvalreport::principal().
00022 { 00023 return dynamic_cast<LuminosityBlockPrincipal &>(principal()); 00024 }
LuminosityBlockPrincipal const & LuminosityBlock::luminosityBlockPrincipal | ( | ) | const [private] |
Definition at line 27 of file LuminosityBlock.cc.
References cmsRelvalreport::principal().
00027 { 00028 return dynamic_cast<LuminosityBlockPrincipal const&>(principal()); 00029 }
void LuminosityBlock::put | ( | std::auto_ptr< PROD > | product, | |
std::string const & | productInstanceName | |||
) | [inline] |
Put a new product with a 'product instance name'.
Definition at line 110 of file LuminosityBlock.h.
References edm::errors::NullPointerError, PROD, and value.
00111 { 00112 if (product.get() == 0) { // null pointer is illegal 00113 TypeID typeID(typeid(PROD)); 00114 throw edm::Exception(edm::errors::NullPointerError) 00115 << "LuminosityBlock::put: A null auto_ptr was passed to 'put'.\n" 00116 << "The pointer is of type " << typeID << ".\n" 00117 << "The specified productInstanceName was '" << productInstanceName << "'.\n"; 00118 } 00119 00120 // The following will call post_insert if T has such a function, 00121 // and do nothing if T has no such function. 00122 typename boost::mpl::if_c<detail::has_postinsert<PROD>::value, 00123 DoPostInsert<PROD>, 00124 DoNotPostInsert<PROD> >::type maybe_inserter; 00125 maybe_inserter(product.get()); 00126 00127 ConstBranchDescription const& desc = 00128 getBranchDescription(TypeID(*product), productInstanceName); 00129 00130 Wrapper<PROD> *wp(new Wrapper<PROD>(product)); 00131 00132 putProducts().push_back(std::make_pair(wp, &desc)); 00133 00134 // product.release(); // The object has been copied into the Wrapper. 00135 // The old copy must be deleted, so we cannot release ownership. 00136 }
void edm::LuminosityBlock::put | ( | std::auto_ptr< PROD > | product | ) | [inline] |
Put a new product.
Definition at line 71 of file LuminosityBlock.h.
Referenced by LumiProducer::beginLuminosityBlock().
RunNumber_t edm::LuminosityBlock::run | ( | void | ) | const [inline] |
Definition at line 44 of file LuminosityBlock.h.
References aux_, and edm::LuminosityBlockAuxiliary::run().
Referenced by DTNoiseTest::beginLuminosityBlock(), DTtTrigCalibrationTest::beginLuminosityBlock(), MuonRecoTest::beginLuminosityBlock(), DTDeadChannelTest::beginLuminosityBlock(), RPCMultiplicityTest::beginLuminosityBlock(), DTChamberEfficiencyTest::beginLuminosityBlock(), DTResolutionAnalysisTest::beginLuminosityBlock(), DTDataIntegrityTest::beginLuminosityBlock(), DTResolutionTest::beginLuminosityBlock(), DTLocalTriggerBaseTest::beginLuminosityBlock(), MuonTrackResidualsTest::beginLuminosityBlock(), and DTEfficiencyTest::beginLuminosityBlock().
00044 { 00045 return aux_.run(); 00046 }
friend class ConfigurableInputSource [friend] |
Definition at line 95 of file LuminosityBlock.h.
friend class DaqSource [friend] |
Definition at line 97 of file LuminosityBlock.h.
friend class EDFilter [friend] |
Definition at line 99 of file LuminosityBlock.h.
friend class EDProducer [friend] |
Definition at line 100 of file LuminosityBlock.h.
friend class InputSource [friend] |
Definition at line 96 of file LuminosityBlock.h.
friend class RawInputSource [friend] |
Definition at line 98 of file LuminosityBlock.h.
LuminosityBlockAuxiliary const& edm::LuminosityBlock::aux_ [private] |
Definition at line 104 of file LuminosityBlock.h.
Referenced by beginTime(), endTime(), id(), luminosityBlock(), and run().
boost::shared_ptr<Run const> const edm::LuminosityBlock::run_ [private] |