CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

egHLT::MonElemContainer< T > Class Template Reference

#include <EgHLTMonElemContainer.h>

Inheritance diagram for egHLT::MonElemContainer< T >:
egHLT::MonElemWithCutBase< T >

List of all members.

Public Member Functions

std::vector
< MonElemWithCutBase< T > * > & 
cutMonElems ()
const std::vector
< MonElemWithCutBase< T > * > & 
cutMonElems () const
void fill (const T &obj, const OffEvt &evt, float weight)
 MonElemContainer (std::string baseName="", std::string baseTitle="", EgHLTDQMCut< T > *cut=NULL)
std::vector
< MonElemManagerBase< T > * > & 
monElems ()
const std::vector
< MonElemManagerBase< T > * > & 
monElems () const
const std::string & name () const
const std::string & title () const
 ~MonElemContainer ()

Private Member Functions

 MonElemContainer (const MonElemContainer &rhs)
MonElemContaineroperator= (const MonElemContainer &rhs)

Private Attributes

std::string baseName_
std::string baseTitle_
EgHLTDQMCut< T > * cut_
std::vector
< MonElemWithCutBase< T > * > 
cutMonElems_
std::vector
< MonElemManagerBase< T > * > 
monElems_

Detailed Description

template<class T>
class egHLT::MonElemContainer< T >

Definition at line 26 of file EgHLTMonElemContainer.h.


Constructor & Destructor Documentation

template<class T>
egHLT::MonElemContainer< T >::MonElemContainer ( const MonElemContainer< T > &  rhs) [inline, private]

Definition at line 41 of file EgHLTMonElemContainer.h.

{}
template<class T>
egHLT::MonElemContainer< T >::MonElemContainer ( std::string  baseName = "",
std::string  baseTitle = "",
EgHLTDQMCut< T > *  cut = NULL 
) [inline]

Definition at line 45 of file EgHLTMonElemContainer.h.

                                              :
      baseName_(baseName),
      baseTitle_(baseTitle),
      cut_(cut){}
template<class T >
egHLT::MonElemContainer< T >::~MonElemContainer ( )

Definition at line 67 of file EgHLTMonElemContainer.h.

References i, and NULL.

  {
    for(size_t i=0;i<monElems_.size();i++) delete monElems_[i];
    for(size_t i=0;i<cutMonElems_.size();i++) delete cutMonElems_[i];
    if(cut_!=NULL) delete cut_;
  }

Member Function Documentation

template<class T>
std::vector<MonElemWithCutBase<T>*>& egHLT::MonElemContainer< T >::cutMonElems ( ) [inline]
template<class T>
const std::vector<MonElemWithCutBase<T>*>& egHLT::MonElemContainer< T >::cutMonElems ( ) const [inline]

Definition at line 55 of file EgHLTMonElemContainer.h.

References egHLT::MonElemContainer< T >::cutMonElems_.

{return cutMonElems_;}
template<class T >
void egHLT::MonElemContainer< T >::fill ( const T obj,
const OffEvt evt,
float  weight 
) [virtual]

Implements egHLT::MonElemWithCutBase< T >.

Definition at line 75 of file EgHLTMonElemContainer.h.

References lumiContext::fill, i, and NULL.

  {
    if(cut_==NULL || cut_->pass(obj,evt)){
    for(size_t i=0;i<monElems_.size();i++) monElems_[i]->fill(obj,weight);
    for(size_t i=0;i<cutMonElems_.size();i++) cutMonElems_[i]->fill(obj,evt,weight);
    }
  }
template<class T>
std::vector<MonElemManagerBase<T>*>& egHLT::MonElemContainer< T >::monElems ( ) [inline]
template<class T>
const std::vector<MonElemManagerBase<T>*>& egHLT::MonElemContainer< T >::monElems ( ) const [inline]

Definition at line 57 of file EgHLTMonElemContainer.h.

References egHLT::MonElemContainer< T >::monElems_.

{return monElems_;}
template<class T>
const std::string& egHLT::MonElemContainer< T >::name ( void  ) const [inline]
template<class T>
MonElemContainer& egHLT::MonElemContainer< T >::operator= ( const MonElemContainer< T > &  rhs) [inline, private]

Definition at line 42 of file EgHLTMonElemContainer.h.

{return *this;}
template<class T>
const std::string& egHLT::MonElemContainer< T >::title ( ) const [inline]

Definition at line 61 of file EgHLTMonElemContainer.h.

References egHLT::MonElemContainer< T >::baseTitle_.

{return baseTitle_;}

Member Data Documentation

template<class T>
std::string egHLT::MonElemContainer< T >::baseName_ [private]

Definition at line 29 of file EgHLTMonElemContainer.h.

Referenced by egHLT::MonElemContainer< T >::name().

template<class T>
std::string egHLT::MonElemContainer< T >::baseTitle_ [private]

Definition at line 30 of file EgHLTMonElemContainer.h.

Referenced by egHLT::MonElemContainer< T >::title().

template<class T>
EgHLTDQMCut<T>* egHLT::MonElemContainer< T >::cut_ [private]

Definition at line 36 of file EgHLTMonElemContainer.h.

template<class T>
std::vector<MonElemWithCutBase<T>*> egHLT::MonElemContainer< T >::cutMonElems_ [private]

Definition at line 34 of file EgHLTMonElemContainer.h.

Referenced by egHLT::MonElemContainer< T >::cutMonElems().

template<class T>
std::vector<MonElemManagerBase<T>*> egHLT::MonElemContainer< T >::monElems_ [private]

Definition at line 35 of file EgHLTMonElemContainer.h.

Referenced by egHLT::MonElemContainer< T >::monElems().