Public Member Functions | Private Attributes | List of all members
reco::shower::ShowerUniqueProductPtr< std::vector< T > > Class Template Reference

#include <ShowerProducedPtrsHolder.hh>

Inheritance diagram for reco::shower::ShowerUniqueProductPtr< std::vector< T > >:
reco::shower::ShowerUniqueProduerPtrBase

Public Member Functions

 ShowerUniqueProductPtr (const std::string &Instancename)
 
std::unique_ptr< T > & GetPtr ()
 
void reset () override
 
void AddDataProduct (const reco::shower::ShowerElementHolder &selement_holder, const std::string &Name) override
 
void MoveToEvent (art::Event &evt) override
 
std::string GetType () const override
 
std::string GetInstanceName () const override
 
int GetVectorPtrSize () const override
 
- Public Member Functions inherited from reco::shower::ShowerUniqueProduerPtrBase
virtual ~ShowerUniqueProduerPtrBase () noexcept=default
 

Private Attributes

std::unique_ptr< std::vector< T > > showeruniqueptr
 
bool ptr
 
std::string InstanceName
 

Detailed Description

template<class T>
class reco::shower::ShowerUniqueProductPtr< std::vector< T > >

Definition at line 61 of file ShowerProducedPtrsHolder.hh.

Constructor & Destructor Documentation

template<class T >
reco::shower::ShowerUniqueProductPtr< std::vector< T > >::ShowerUniqueProductPtr ( const std::string Instancename)
inline

Definition at line 65 of file ShowerProducedPtrsHolder.hh.

Member Function Documentation

template<class T >
void reco::shower::ShowerUniqueProductPtr< std::vector< T > >::AddDataProduct ( const reco::shower::ShowerElementHolder selement_holder,
const std::string Name 
)
inlineoverridevirtual

Implements reco::shower::ShowerUniqueProduerPtrBase.

Definition at line 86 of file ShowerProducedPtrsHolder.hh.

86  {
87  T product;
88  if (!selement_holder.CheckElement(Name)){
89  mf::LogError("ShowerProducedPtrsHolder") << "Trying to add data product: " << Name << ". This element does not exist in the element holder" << std::endl;
90  return;
91  }
92 
93  int err = selement_holder.GetElement(Name, product);
94  if(err){
95  mf::LogError("ShowerProducedPtrsHolder") << "Trying to add data product: " << Name << ". This element does not exist in the element holder" << std::endl;
96  return;
97  }
98  showeruniqueptr->push_back(product);
99  return;
100  }
ChannelGroupService::Name Name
MaybeLogger_< ELseverityLevel::ELsev_error, false > LogError
bool CheckElement(const std::string &Name) const
int GetElement(const std::string &Name, T &Element) const
void err(const char *fmt,...)
Definition: message.cpp:226
QTextStream & endl(QTextStream &s)
template<class T >
std::string reco::shower::ShowerUniqueProductPtr< std::vector< T > >::GetInstanceName ( ) const
inlineoverridevirtual
template<class T >
std::unique_ptr<T>& reco::shower::ShowerUniqueProductPtr< std::vector< T > >::GetPtr ( )
inline

Definition at line 72 of file ShowerProducedPtrsHolder.hh.

72  {
73  if(ptr){
74  return showeruniqueptr;
75  }
76  else{
77  throw cet::exception("ShowerUniqueProduerPtr") << "Element does not exist" << std::endl;
78  }
79  }
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
QTextStream & endl(QTextStream &s)
template<class T >
std::string reco::shower::ShowerUniqueProductPtr< std::vector< T > >::GetType ( ) const
inlineoverridevirtual

Implements reco::shower::ShowerUniqueProduerPtrBase.

Definition at line 108 of file ShowerProducedPtrsHolder.hh.

108  {
109  return cet::demangle_symbol(typeid(showeruniqueptr.get()).name());
110  }
static QCString name
Definition: declinfo.cpp:673
template<class T >
int reco::shower::ShowerUniqueProductPtr< std::vector< T > >::GetVectorPtrSize ( ) const
inlineoverridevirtual

Reimplemented from reco::shower::ShowerUniqueProduerPtrBase.

Definition at line 118 of file ShowerProducedPtrsHolder.hh.

118  {
119  return showeruniqueptr->size();
120  }
template<class T >
void reco::shower::ShowerUniqueProductPtr< std::vector< T > >::MoveToEvent ( art::Event evt)
inlineoverridevirtual

Implements reco::shower::ShowerUniqueProduerPtrBase.

Definition at line 103 of file ShowerProducedPtrsHolder.hh.

103  {
105  }
def move(depos, offset)
Definition: depos.py:107
ProductID put(std::unique_ptr< PROD > &&edp, std::string const &instance={})
Definition: DataViewImpl.h:686
template<class T >
void reco::shower::ShowerUniqueProductPtr< std::vector< T > >::reset ( )
inlineoverridevirtual

Implements reco::shower::ShowerUniqueProduerPtrBase.

Definition at line 81 of file ShowerProducedPtrsHolder.hh.

81  {
82  showeruniqueptr.reset(new std::vector<T>());
83  }

Member Data Documentation

template<class T >
std::string reco::shower::ShowerUniqueProductPtr< std::vector< T > >::InstanceName
private

Definition at line 132 of file ShowerProducedPtrsHolder.hh.

template<class T >
bool reco::shower::ShowerUniqueProductPtr< std::vector< T > >::ptr
private

Definition at line 129 of file ShowerProducedPtrsHolder.hh.

template<class T >
std::unique_ptr<std::vector<T> > reco::shower::ShowerUniqueProductPtr< std::vector< T > >::showeruniqueptr
private

Definition at line 126 of file ShowerProducedPtrsHolder.hh.


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