CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions
fwlite::EventBase Class Referenceabstract

#include <EventBase.h>

Inheritance diagram for fwlite::EventBase:
edm::EventBase fwlite::ChainEvent fwlite::Event fwlite::EventContainer fwlite::MultiChainEvent

Public Member Functions

virtual bool atEnd () const =0
 
 EventBase ()
 
virtual Long64_t fileIndex () const
 
virtual const std::string getBranchNameFor (const std::type_info &, const char *, const char *, const char *) const =0
 
virtual bool getByLabel (const std::type_info &, const char *, const char *, const char *, void *) const =0
 
virtual const EventBaseoperator++ ()=0
 
virtual Long64_t secondaryFileIndex () const
 
virtual const EventBasetoBegin ()=0
 
virtual ~EventBase ()
 
- Public Member Functions inherited from edm::EventBase
int bunchCrossing () const
 
virtual edm::EventAuxiliary const & eventAuxiliary () const =0
 
 EventBase ()
 
edm::EventAuxiliary::ExperimentType experimentType () const
 
template<class T >
bool getByLabel (const InputTag &, Handle< T > &) const
 
template<>
bool getByLabel (edm::InputTag const &tag, Handle< FWGenericObject > &result) const
 Specialize the getByLabel method to work with a Handle<FWGenericObject> More...
 
edm::EventID id () const
 
bool isRealData () const
 
edm::LuminosityBlockNumber_t luminosityBlock () const
 
int orbitNumber () const
 
virtual ProcessHistory const & processHistory () const =0
 
edm::Timestamp time () const
 
virtual TriggerNames const & triggerNames (edm::TriggerResults const &triggerResults) const =0
 
virtual TriggerResultsByName triggerResultsByName (std::string const &process) const =0
 

Private Member Functions

virtual edm::BasicHandle getByLabelImpl (const std::type_info &, const std::type_info &, const edm::InputTag &) const
 

Additional Inherited Members

- Static Protected Member Functions inherited from edm::EventBase
static TriggerNames const * triggerNames_ (edm::TriggerResults const &triggerResults)
 

Detailed Description

Definition at line 32 of file EventBase.h.

Constructor & Destructor Documentation

EventBase::EventBase ( )

Definition at line 39 of file EventBase.cc.

40  {
41  }
EventBase::~EventBase ( )
virtual

Reimplemented from edm::EventBase.

Definition at line 43 of file EventBase.cc.

44  {
45  }

Member Function Documentation

virtual bool fwlite::EventBase::atEnd ( ) const
pure virtual
virtual Long64_t fwlite::EventBase::fileIndex ( ) const
inlinevirtual

Reimplemented in fwlite::MultiChainEvent, fwlite::EventContainer, and fwlite::ChainEvent.

Definition at line 57 of file EventBase.h.

Referenced by fwlite::EventContainer::fileIndex(), and python.Events::fileIndicies().

57 { return -1; }
virtual const std::string fwlite::EventBase::getBranchNameFor ( const std::type_info &  ,
const char *  ,
const char *  ,
const char *   
) const
pure virtual
virtual bool fwlite::EventBase::getByLabel ( const std::type_info &  ,
const char *  ,
const char *  ,
const char *  ,
void *   
) const
pure virtual
edm::BasicHandle EventBase::getByLabelImpl ( const std::type_info &  iWrapperInfo,
const std::type_info &  ,
const edm::InputTag iTag 
) const
privatevirtual

Implements edm::EventBase.

Definition at line 48 of file EventBase.cc.

References getByLabel(), edm::InputTag::instance(), edm::EDProduct::isPresent(), edm::InputTag::label(), edm::InputTag::process(), parseEventContent::prod, edm::errors::ProductNotFound, s_prov(), and relativeConstraints::value.

49  {
51  void* prodPtr = &prod;
52  getByLabel(iWrapperInfo,
53  iTag.label().c_str(),
54  iTag.instance().empty()?static_cast<const char*>(0):iTag.instance().c_str(),
55  iTag.process().empty()?static_cast<const char*> (0):iTag.process().c_str(),
56  prodPtr);
57  if(0==prod) {
58  edm::TypeID productType(iWrapperInfo);
59  boost::shared_ptr<cms::Exception> whyFailed(new edm::Exception(edm::errors::ProductNotFound));
60  *whyFailed
61  << "getByLabel: Found zero products matching all criteria\n"
62  << "Looking for type: " << productType << "\n"
63  << "Looking for module label: " << iTag.label() << "\n"
64  << "Looking for productInstanceName: " << iTag.instance() << "\n"
65  << (iTag.process().empty() ? "" : "Looking for process: ") << iTag.process() << "\n";
66 
67  edm::BasicHandle failed(whyFailed);
68  return failed;
69  }
70  if(!prod->isPresent()) {
71  edm::TypeID productType(iWrapperInfo);
72  boost::shared_ptr<cms::Exception> whyFailed(new edm::Exception(edm::errors::ProductNotFound));
73  *whyFailed
74  << "getByLabel: Found zero products matching all criteria\n"
75  << "Looking for type: " << productType << "\n"
76  << "Looking for module label: " << iTag.label() << "\n"
77  << "Looking for productInstanceName: " << iTag.instance() << "\n"
78  << (iTag.process().empty() ? "" : "Looking for process: ") << iTag.process() << "\n"
79  << "The data is registered in the file but is not available for this event\n";
80  edm::BasicHandle failed(whyFailed);
81  return failed;
82  }
83  edm::BasicHandle value(boost::shared_ptr<edm::EDProduct>(prod,null_deleter()),&s_prov);
84  return value;
85  }
virtual bool getByLabel(const std::type_info &, const char *, const char *, const char *, void *) const =0
static const edm::Provenance s_prov(boost::shared_ptr< edm::ConstBranchDescription >(&s_branch, null_deleter()), s_id)
std::string const & label() const
Definition: InputTag.h:25
std::string const & process() const
Definition: InputTag.h:29
bool isPresent() const
Definition: EDProduct.h:21
std::string const & instance() const
Definition: InputTag.h:26
virtual const EventBase& fwlite::EventBase::operator++ ( )
pure virtual
virtual Long64_t fwlite::EventBase::secondaryFileIndex ( ) const
inlinevirtual

Reimplemented in fwlite::MultiChainEvent, and fwlite::EventContainer.

Definition at line 58 of file EventBase.h.

Referenced by python.Events::fileIndicies(), and fwlite::EventContainer::secondaryFileIndex().

58 { return -1; }
virtual const EventBase& fwlite::EventBase::toBegin ( )
pure virtual