LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
art::EDProduct Class Referenceabstract

#include "EDProduct.h"

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

Public Member Functions

virtual ~EDProduct ()=default
 
bool isPresent () const
 
virtual void fillView (std::vector< void const * > &) const
 
virtual std::type_info const * typeInfo () const
 
void setPtr (std::type_info const &toType, unsigned long index, void const *&ptr) const
 
void getElementAddresses (std::type_info const &toType, std::vector< unsigned long > const &indices, std::vector< void const * > &ptr) const
 
virtual std::string productSize () const
 
std::unique_ptr< EDProductmakePartner (std::type_info const &wanted_type) const
 
unsigned getRangeSetID () const
 
void setRangeSetID (unsigned const id)
 
void combine (EDProduct *p)
 

Protected Member Functions

virtual std::unique_ptr< EDProductdo_makePartner (std::type_info const &wanted_type) const =0
 
virtual void do_combine (EDProduct *)=0
 
virtual void do_setRangeSetID (unsigned)=0
 
virtual unsigned do_getRangeSetID () const =0
 
virtual void do_setPtr (std::type_info const &toType, unsigned long index, void const *&ptr) const =0
 
virtual void do_getElementAddresses (std::type_info const &toType, std::vector< unsigned long > const &indices, std::vector< void const * > &ptr) const =0
 

Private Member Functions

virtual bool isPresent_ () const =0
 
virtual std::type_info const * typeInfo_ () const =0
 

Detailed Description

Definition at line 23 of file EDProduct.h.

Constructor & Destructor Documentation

virtual art::EDProduct::~EDProduct ( )
virtualdefault

Member Function Documentation

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

Definition at line 79 of file EDProduct.h.

References do_combine(), do_getElementAddresses(), do_getRangeSetID(), do_makePartner(), do_setPtr(), do_setRangeSetID(), isPresent_(), and typeInfo_().

80  {
81  do_combine(p);
82  }
virtual void do_combine(EDProduct *)=0
virtual void art::EDProduct::do_combine ( EDProduct )
protectedpure virtual

Implemented in art::Wrapper< T >.

Referenced by combine().

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

Implemented in art::Wrapper< T >.

Referenced by combine(), and getElementAddresses().

virtual unsigned art::EDProduct::do_getRangeSetID ( ) const
protectedpure virtual

Implemented in art::Wrapper< T >.

Referenced by combine(), and getRangeSetID().

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

Implemented in art::Wrapper< T >.

Referenced by combine(), and makePartner().

virtual void art::EDProduct::do_setPtr ( std::type_info const &  toType,
unsigned long  index,
void const *&  ptr 
) const
protectedpure virtual

Implemented in art::Wrapper< T >.

Referenced by combine(), and setPtr().

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

Implemented in art::Wrapper< T >.

Referenced by combine(), and setRangeSetID().

virtual void art::EDProduct::fillView ( std::vector< void const * > &  ) const
inlinevirtual

Reimplemented in art::Wrapper< T >.

Definition at line 36 of file EDProduct.h.

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

37  { /* should be called only polymorphically */
38  }
void EDProduct::getElementAddresses ( std::type_info const &  toType,
std::vector< unsigned long > const &  indices,
std::vector< void const * > &  ptr 
) const

Definition at line 23 of file EDProduct.cc.

References do_getElementAddresses().

Referenced by art::DoSetPtr< T >::operator()(), and typeInfo().

26 {
27  do_getElementAddresses(toType, indices, ptr);
28 }
virtual void do_getElementAddresses(std::type_info const &toType, std::vector< unsigned long > const &indices, std::vector< void const * > &ptr) 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
bool art::EDProduct::isPresent ( ) const
inline

Definition at line 28 of file EDProduct.h.

References isPresent_().

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

29  {
30  return isPresent_();
31  }
virtual bool isPresent_() const =0
virtual bool art::EDProduct::isPresent_ ( ) const
privatepure virtual

Implemented in art::Wrapper< T >.

Referenced by combine(), 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().

Referenced by art::AssnsGroup::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 55 of file EDProduct.h.

56  {
57  return "-";
58  }
void EDProduct::setPtr ( std::type_info const &  toType,
unsigned long  index,
void const *&  ptr 
) const

Definition at line 15 of file EDProduct.cc.

References do_setPtr().

Referenced by art::Ptr< T >::getData_(), art::DoSetPtr< T >::operator()(), and typeInfo().

18 {
19  do_setPtr(toType, index, ptr);
20 }
virtual void do_setPtr(std::type_info const &toType, unsigned long index, void const *&ptr) const =0
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
virtual std::type_info const* art::EDProduct::typeInfo ( ) const
inlinevirtual

Definition at line 41 of file EDProduct.h.

References getElementAddresses(), geo::vect::indices(), setPtr(), and typeInfo_().

42  {
43  return typeInfo_();
44  }
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 combine(), and typeInfo().


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