CMS 3D CMS Logo

Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes

edm::ProcessHistory Class Reference

#include <ProcessHistory.h>

List of all members.

Classes

struct  Transients

Public Types

typedef std::vector< value_typecollection_type
typedef
collection_type::const_iterator 
const_iterator
typedef
collection_type::const_reference 
const_reference
typedef
collection_type::const_reverse_iterator 
const_reverse_iterator
typedef collection_type::iterator iterator
typedef collection_type::reference reference
typedef
collection_type::reverse_iterator 
reverse_iterator
typedef collection_type::size_type size_type
typedef ProcessConfiguration value_type

Public Member Functions

reference at (size_type i)
const_reference at (size_type i) const
const_iterator begin () const
size_type capacity () const
collection_type const & data () const
bool empty () const
const_iterator end () const
bool getConfigurationForProcess (std::string const &name, ProcessConfiguration &config) const
ProcessHistoryID id () const
reference operator[] (size_type i)
const_reference operator[] (size_type i) const
 ProcessHistory ()
 ProcessHistory (size_type n)
 ProcessHistory (collection_type const &vec)
void push_back (const_reference t)
const_reverse_iterator rbegin () const
const_reverse_iterator rend () const
void reserve (size_type n)
size_type size () const
void swap (ProcessHistory &other)

Private Member Functions

ProcessHistoryIDphid () const

Private Attributes

collection_type data_
Transient< Transientstransients_

Detailed Description

Definition at line 13 of file ProcessHistory.h.


Member Typedef Documentation

Definition at line 16 of file ProcessHistory.h.

typedef collection_type::const_iterator edm::ProcessHistory::const_iterator

Definition at line 19 of file ProcessHistory.h.

typedef collection_type::const_reference edm::ProcessHistory::const_reference

Definition at line 25 of file ProcessHistory.h.

typedef collection_type::const_reverse_iterator edm::ProcessHistory::const_reverse_iterator

Definition at line 22 of file ProcessHistory.h.

typedef collection_type::iterator edm::ProcessHistory::iterator

Definition at line 18 of file ProcessHistory.h.

typedef collection_type::reference edm::ProcessHistory::reference

Definition at line 24 of file ProcessHistory.h.

typedef collection_type::reverse_iterator edm::ProcessHistory::reverse_iterator

Definition at line 21 of file ProcessHistory.h.

typedef collection_type::size_type edm::ProcessHistory::size_type

Definition at line 27 of file ProcessHistory.h.

Definition at line 15 of file ProcessHistory.h.


Constructor & Destructor Documentation

edm::ProcessHistory::ProcessHistory ( ) [inline]

Definition at line 29 of file ProcessHistory.h.

: data_(), transients_() {}
edm::ProcessHistory::ProcessHistory ( size_type  n) [inline, explicit]

Definition at line 30 of file ProcessHistory.h.

: data_(n), transients_() {}
edm::ProcessHistory::ProcessHistory ( collection_type const &  vec) [inline, explicit]

Definition at line 31 of file ProcessHistory.h.

: data_(vec), transients_() {}

Member Function Documentation

reference edm::ProcessHistory::at ( size_type  i) [inline]

Definition at line 43 of file ProcessHistory.h.

References data_.

{return data_.at(i);}
const_reference edm::ProcessHistory::at ( size_type  i) const [inline]

Definition at line 44 of file ProcessHistory.h.

References data_.

{return data_.at(i);}
const_iterator edm::ProcessHistory::begin ( void  ) const [inline]
size_type edm::ProcessHistory::capacity ( ) const [inline]

Definition at line 37 of file ProcessHistory.h.

References data_.

{return data_.capacity();}
collection_type const& edm::ProcessHistory::data ( ) const [inline]

Definition at line 58 of file ProcessHistory.h.

References data_.

Referenced by edm::isAncestor(), and edm::operator==().

{return data_;}
bool edm::ProcessHistory::empty ( ) const [inline]

Definition at line 35 of file ProcessHistory.h.

References data_.

Referenced by edm::TransientProductLookupMap::reorderIfNecessary().

{return data_.empty();}
const_iterator edm::ProcessHistory::end ( void  ) const [inline]
bool edm::ProcessHistory::getConfigurationForProcess ( std::string const &  name,
ProcessConfiguration config 
) const

Definition at line 33 of file ProcessHistory.cc.

References begin(), ExpressReco_HICollisions_FallBack::e, end(), i, and AlCaRecoCosmics_cfg::name.

Referenced by edm::Event::getProcessParameterSet(), HLTConfigProvider::init(), and edm::Provenance::processConfigurationID().

                                                                                 {
    for (const_iterator i = begin(), e = end(); i != e; ++i) {
      if (i->processName() == name) {
        config = *i;
        return true;
      }
    }
    // Name not found!
    return false;                                   
  }
ProcessHistoryID edm::ProcessHistory::id ( void  ) const

Definition at line 12 of file ProcessHistory.cc.

References begin(), cms::Digest::digest(), ExpressReco_HICollisions_FallBack::e, end(), i, phid(), edm::Hash< I >::swap(), and tmp.

Referenced by edm::ProvenanceAdaptor::fixProcessHistory(), and edm::TransientProductLookupMap::reorderIfNecessary().

                           {
    if(phid().isValid()) {
      return phid();
    }
    // This implementation is ripe for optimization.
    // We do not use operator<< because it does not write out everything.
    std::ostringstream oss;
    for (const_iterator i = begin(), e = end(); i != e; ++i) {
      oss << i->processName() << ' '
          << i->parameterSetID() << ' ' 
          << i->releaseVersion() << ' '
          << i->passID() << ' ';
    }
    std::string stringrep = oss.str();
    cms::Digest md5alg(stringrep);
    ProcessHistoryID tmp(md5alg.digest().toString());
    phid().swap(tmp);
    return phid();
  }
const_reference edm::ProcessHistory::operator[] ( size_type  i) const [inline]

Definition at line 41 of file ProcessHistory.h.

References data_, and i.

{return data_[i];}
reference edm::ProcessHistory::operator[] ( size_type  i) [inline]

Definition at line 40 of file ProcessHistory.h.

References data_, and i.

{return data_[i];}
ProcessHistoryID& edm::ProcessHistory::phid ( ) const [inline, private]

Definition at line 74 of file ProcessHistory.h.

References edm::Transient< T >::get(), and transients_.

Referenced by id(), push_back(), and swap().

{return transients_.get().phid_;}
void edm::ProcessHistory::push_back ( const_reference  t) [inline]

Definition at line 33 of file ProcessHistory.h.

References data_, and phid().

Referenced by edm::RunPrincipal::addToProcessHistory(), and edm::ProvenanceAdaptor::fixProcessHistory().

{data_.push_back(t); phid() = ProcessHistoryID();}
const_reverse_iterator edm::ProcessHistory::rbegin ( ) const [inline]
const_reverse_iterator edm::ProcessHistory::rend ( ) const [inline]

Definition at line 50 of file ProcessHistory.h.

References data_.

Referenced by fwlite::DataGetterHelper::getBranchDataFor(), and edm::TransientProductLookupMap::reorderIfNecessary().

{return data_.rend();}
void edm::ProcessHistory::reserve ( size_type  n) [inline]

Definition at line 38 of file ProcessHistory.h.

References data_.

{data_.reserve(n);}
size_type edm::ProcessHistory::size ( void  ) const [inline]

Definition at line 36 of file ProcessHistory.h.

References data_.

Referenced by edm::ProvenanceAdaptor::fixProcessHistory(), and edm::isAncestor().

{return data_.size();}
void edm::ProcessHistory::swap ( ProcessHistory other) [inline]

Definition at line 34 of file ProcessHistory.h.

References data_, phid(), and edm::Hash< I >::swap().

Referenced by edm::swap().

{data_.swap(other.data_); phid().swap(other.phid());}

Member Data Documentation

Definition at line 76 of file ProcessHistory.h.

Referenced by phid().