LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
art::EDProduct Class Referenceabstract

#include "EDProduct.h"

Inheritance diagram for art::EDProduct:
art::Wrapper< T >

Public Member Functions

virtual ~EDProduct ()
 
bool isPresent () const
 
virtual std::vector< void const * > getView () const
 
virtual std::type_info const * typeInfo () const
 
void const * getElementAddress (std::type_info const &toType, unsigned long index) const
 
std::vector< void const * > getElementAddresses (std::type_info const &toType, std::vector< unsigned long > const &indices) const
 
virtual std::string productSize () const
 
product_typeids_t getTypeIDs () const
 
std::unique_ptr< EDProductmakePartner (std::type_info const &wanted_type) const
 
unsigned getRangeSetID () const
 
void setRangeSetID (unsigned const id)
 
void combine (EDProduct *p)
 
std::unique_ptr< EDProductcreateEmptySampledProduct (InputTag const &tag) const
 
void insertIfSampledProduct (std::string const &dataset, SubRunID const &id, std::unique_ptr< EDProduct > product)
 

Private Member Functions

virtual product_typeids_t do_getTypeIDs () const =0
 
virtual std::unique_ptr< EDProductdo_makePartner (std::type_info const &wanted_type) const =0
 
virtual unsigned do_getRangeSetID () const =0
 
virtual void do_setRangeSetID (unsigned)=0
 
virtual void do_combine (EDProduct const *)=0
 
virtual void const * do_getElementAddress (std::type_info const &toType, unsigned long index) const =0
 
virtual std::vector< void const * > do_getElementAddresses (std::type_info const &toType, std::vector< unsigned long > const &indices) const =0
 
virtual std::unique_ptr< EDProductdo_createEmptySampledProduct (InputTag const &tag) const =0
 
virtual void do_insertIfSampledProduct (std::string const &dataset, SubRunID const &id, std::unique_ptr< EDProduct > product)=0
 
virtual bool isPresent_ () const =0
 
virtual std::type_info const * typeInfo_ () const =0
 

Detailed Description

Definition at line 26 of file EDProduct.h.

Constructor & Destructor Documentation

EDProduct::~EDProduct ( )
virtualdefault

Member Function Documentation

void art::EDProduct::combine ( EDProduct p)
inline

Definition at line 79 of file EDProduct.h.

References do_combine().

80  {
81  do_combine(p);
82  }
virtual void do_combine(EDProduct const *)=0
std::unique_ptr<EDProduct> art::EDProduct::createEmptySampledProduct ( InputTag const &  tag) const
inline

Definition at line 85 of file EDProduct.h.

References do_createEmptySampledProduct().

86  {
87  return do_createEmptySampledProduct(tag);
88  }
virtual std::unique_ptr< EDProduct > do_createEmptySampledProduct(InputTag const &tag) const =0
virtual void art::EDProduct::do_combine ( EDProduct const *  )
privatepure virtual

Implemented in art::Wrapper< T >.

Referenced by combine(), and insertIfSampledProduct().

virtual std::unique_ptr<EDProduct> art::EDProduct::do_createEmptySampledProduct ( InputTag const &  tag) const
privatepure virtual
virtual void const* art::EDProduct::do_getElementAddress ( std::type_info const &  toType,
unsigned long  index 
) const
privatepure virtual

Implemented in art::Wrapper< T >.

Referenced by getElementAddress(), and insertIfSampledProduct().

virtual std::vector<void const*> art::EDProduct::do_getElementAddresses ( std::type_info const &  toType,
std::vector< unsigned long > const &  indices 
) const
privatepure virtual
virtual unsigned art::EDProduct::do_getRangeSetID ( ) const
privatepure virtual

Implemented in art::Wrapper< T >.

Referenced by getRangeSetID(), and insertIfSampledProduct().

virtual product_typeids_t art::EDProduct::do_getTypeIDs ( ) const
privatepure virtual

Implemented in art::Wrapper< T >.

Referenced by getTypeIDs(), and insertIfSampledProduct().

virtual void art::EDProduct::do_insertIfSampledProduct ( std::string const &  dataset,
SubRunID const &  id,
std::unique_ptr< EDProduct product 
)
privatepure virtual

Implemented in art::Wrapper< T >.

Referenced by insertIfSampledProduct().

virtual std::unique_ptr<EDProduct> art::EDProduct::do_makePartner ( std::type_info const &  wanted_type) const
privatepure virtual

Implemented in art::Wrapper< T >.

Referenced by insertIfSampledProduct(), and makePartner().

virtual void art::EDProduct::do_setRangeSetID ( unsigned  )
privatepure virtual

Implemented in art::Wrapper< T >.

Referenced by insertIfSampledProduct(), and setRangeSetID().

void const * EDProduct::getElementAddress ( std::type_info const &  toType,
unsigned long  index 
) const

Definition at line 27 of file EDProduct.cc.

References do_getElementAddress().

Referenced by isPresent(), and art::Ptr< L >::operator->().

29 {
30  return do_getElementAddress(toType, index);
31 }
virtual void const * do_getElementAddress(std::type_info const &toType, unsigned long index) const =0
std::vector< void const * > EDProduct::getElementAddresses ( std::type_info const &  toType,
std::vector< unsigned long > const &  indices 
) const

Definition at line 34 of file EDProduct.cc.

References do_getElementAddresses().

Referenced by art::Wrapper< T >::do_getElementAddresses(), and isPresent().

36 {
37  return do_getElementAddresses(toType, indices);
38 }
virtual std::vector< void const * > do_getElementAddresses(std::type_info const &toType, std::vector< unsigned long > const &indices) const =0
unsigned art::EDProduct::getRangeSetID ( ) const
inline

Definition at line 67 of file EDProduct.h.

References do_getRangeSetID().

68  {
69  return do_getRangeSetID();
70  }
virtual unsigned do_getRangeSetID() const =0
product_typeids_t art::EDProduct::getTypeIDs ( ) const
inline

Definition at line 55 of file EDProduct.h.

References do_getTypeIDs().

56  {
57  return do_getTypeIDs();
58  }
virtual product_typeids_t do_getTypeIDs() const =0
std::vector< void const * > EDProduct::getView ( ) const
virtual

Reimplemented in art::Wrapper< T >.

Definition at line 15 of file EDProduct.cc.

Referenced by art::View< T >::fill(), and isPresent().

16 { /* should be called only polymorphically */
17  return {};
18 }
void art::EDProduct::insertIfSampledProduct ( std::string const &  dataset,
SubRunID const &  id,
std::unique_ptr< EDProduct product 
)
inline

Definition at line 91 of file EDProduct.h.

References do_combine(), do_createEmptySampledProduct(), do_getElementAddress(), do_getElementAddresses(), do_getRangeSetID(), do_getTypeIDs(), do_insertIfSampledProduct(), do_makePartner(), do_setRangeSetID(), isPresent_(), and typeInfo_().

94  {
95  return do_insertIfSampledProduct(dataset, id, std::move(product));
96  }
virtual void do_insertIfSampledProduct(std::string const &dataset, SubRunID const &id, std::unique_ptr< EDProduct > product)=0
bool art::EDProduct::isPresent ( ) const
inline

Definition at line 31 of file EDProduct.h.

References getElementAddress(), getElementAddresses(), getView(), geo::vect::indices(), isPresent_(), and typeInfo().

Referenced by art::Wrapper< T >::do_combine(), and art::FileDumperOutput::printPrincipal().

32  {
33  return isPresent_();
34  }
virtual bool isPresent_() const =0
virtual bool art::EDProduct::isPresent_ ( ) const
privatepure virtual

Implemented in art::Wrapper< T >.

Referenced by insertIfSampledProduct(), and isPresent().

std::unique_ptr<EDProduct> art::EDProduct::makePartner ( std::type_info const &  wanted_type) const
inline

Definition at line 61 of file EDProduct.h.

References do_makePartner().

62  {
63  return do_makePartner(wanted_type);
64  }
virtual std::unique_ptr< EDProduct > do_makePartner(std::type_info const &wanted_type) const =0
virtual std::string art::EDProduct::productSize ( ) const
inlinevirtual

Reimplemented in art::Wrapper< T >.

Definition at line 49 of file EDProduct.h.

50  {
51  return "-";
52  }
void art::EDProduct::setRangeSetID ( unsigned const  id)
inline

Definition at line 73 of file EDProduct.h.

References do_setRangeSetID().

74  {
75  do_setRangeSetID(id);
76  }
virtual void do_setRangeSetID(unsigned)=0
std::type_info const * EDProduct::typeInfo ( ) const
virtual

Definition at line 21 of file EDProduct.cc.

References typeInfo_().

Referenced by isPresent().

22 {
23  return typeInfo_();
24 }
virtual std::type_info const * typeInfo_() const =0
virtual std::type_info const* art::EDProduct::typeInfo_ ( ) const
privatepure virtual

Implemented in art::Wrapper< T >.

Referenced by insertIfSampledProduct(), and typeInfo().


The documentation for this class was generated from the following files: