CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
EcalContainer< DetId, T > Class Template Reference

#include <EcalContainer.h>

Public Types

typedef std::vector< Item >
::const_iterator 
const_iterator
 
typedef T Item
 
typedef std::vector< ItemItems
 
typedef std::vector< Item >
::iterator 
iterator
 
typedef EcalContainer< DetId, Tself
 
typedef Item value_type
 

Public Member Functions

const_iterator begin () const
 
void checkAndResize ()
 
void checkAndResize (size_t priv_size)
 
const_iterator end () const
 
const_iterator find (uint32_t rawId) const
 
void insert (std::pair< uint32_t, Item > const &a)
 
const Itemitem (size_t hashid) const
 
const Itemsitems () const
 
Itemoperator[] (uint32_t rawId)
 
Item const & operator[] (uint32_t rawId) const
 
size_t size () const
 

Private Member Functions

bool isValidId (const DetId id) const
 

Private Attributes

std::vector< Itemm_items
 

Detailed Description

template<typename DetId, typename T>
class EcalContainer< DetId, T >

Definition at line 18 of file EcalContainer.h.

Member Typedef Documentation

template<typename DetId, typename T>
typedef std::vector<Item>::const_iterator EcalContainer< DetId, T >::const_iterator

Definition at line 26 of file EcalContainer.h.

template<typename DetId, typename T>
typedef T EcalContainer< DetId, T >::Item

Definition at line 23 of file EcalContainer.h.

template<typename DetId, typename T>
typedef std::vector<Item> EcalContainer< DetId, T >::Items

Definition at line 25 of file EcalContainer.h.

template<typename DetId, typename T>
typedef std::vector<Item>::iterator EcalContainer< DetId, T >::iterator

Definition at line 27 of file EcalContainer.h.

template<typename DetId, typename T>
typedef EcalContainer<DetId, T> EcalContainer< DetId, T >::self

Definition at line 22 of file EcalContainer.h.

template<typename DetId, typename T>
typedef Item EcalContainer< DetId, T >::value_type

Definition at line 24 of file EcalContainer.h.

Member Function Documentation

template<typename DetId, typename T>
const_iterator EcalContainer< DetId, T >::begin ( void  ) const
inline

Definition at line 83 of file EcalContainer.h.

Referenced by ESCondObjectContainer< T >::begin(), EcalCondTowerObjectContainer< T >::begin(), and EcalCondObjectContainer< EcalLaserAPDPNpair >::begin().

83  {
84  return m_items.begin();
85  }
std::vector< Item > m_items
template<typename DetId, typename T>
void EcalContainer< DetId, T >::checkAndResize ( )
inline

Definition at line 50 of file EcalContainer.h.

Referenced by EcalCondTowerObjectContainer< T >::EcalCondTowerObjectContainer(), and EcalContainer< EcalTrigTowerDetId, Item >::operator[]().

50  {
51  if (m_items.size()==0) {
52  // std::cout << "resizing to " << DetId::kSizeForDenseIndexing << std::endl;
53  m_items.resize(DetId::kSizeForDenseIndexing);
54  }
55  }
std::vector< Item > m_items
template<typename DetId, typename T>
void EcalContainer< DetId, T >::checkAndResize ( size_t  priv_size)
inline

Definition at line 58 of file EcalContainer.h.

58  {
59  // this method allows to resize the vector to a specific size forcing a specific value
60  if (m_items.size()==0) {
61  // std::cout << "resizing to " << priv_size << std::endl;
62  m_items.resize(priv_size);
63  }
64  }
std::vector< Item > m_items
template<typename DetId, typename T>
const_iterator EcalContainer< DetId, T >::end ( void  ) const
inline
template<typename DetId, typename T>
const_iterator EcalContainer< DetId, T >::find ( uint32_t  rawId) const
inline

Definition at line 77 of file EcalContainer.h.

Referenced by ESCondObjectContainer< T >::find(), EcalCondTowerObjectContainer< T >::find(), and EcalCondObjectContainer< EcalLaserAPDPNpair >::find().

77  {
78  DetId ib(rawId);
79  if ( !isValidId(ib) ) return m_items.end();
80  return m_items.begin() + ib.hashedIndex();
81  }
std::vector< Item > m_items
Definition: DetId.h:20
bool isValidId(const DetId id) const
Definition: EcalContainer.h:98
template<typename DetId, typename T>
void EcalContainer< DetId, T >::insert ( std::pair< uint32_t, Item > const &  a)
inline

Definition at line 29 of file EcalContainer.h.

Referenced by ESCondObjectContainer< T >::insert(), EcalCondObjectContainer< EcalLaserAPDPNpair >::insert(), and EcalCondTowerObjectContainer< T >::insert().

29  {
30  (*this)[a.first] = a.second;
31  }
double a
Definition: hdecay.h:121
template<typename DetId, typename T>
bool EcalContainer< DetId, T >::isValidId ( const DetId  id) const
inlineprivate

Definition at line 98 of file EcalContainer.h.

Referenced by EcalContainer< EcalTrigTowerDetId, Item >::find(), and EcalContainer< EcalTrigTowerDetId, Item >::operator[]().

98  {
99  return id.det() == ::DetId::Ecal;
100  };
template<typename DetId, typename T>
const Item& EcalContainer< DetId, T >::item ( size_t  hashid) const
inline
template<typename DetId, typename T>
const Items& EcalContainer< DetId, T >::items ( ) const
inline
template<typename DetId, typename T>
Item& EcalContainer< DetId, T >::operator[] ( uint32_t  rawId)
inline

Definition at line 41 of file EcalContainer.h.

41  {
43  static Item dummy;
44  DetId id(rawId);
45  if ( !isValidId(id) ) return dummy;
46  return m_items[id.hashedIndex()];
47  }
std::vector< Item > m_items
Definition: DetId.h:20
void checkAndResize()
Definition: EcalContainer.h:50
bool isValidId(const DetId id) const
Definition: EcalContainer.h:98
template<typename DetId, typename T>
Item const& EcalContainer< DetId, T >::operator[] ( uint32_t  rawId) const
inline

Definition at line 66 of file EcalContainer.h.

66  {
67  // if (m_items.size()==0) {
68  // std::cout << "resizing to " << DetId::kSizeForDenseIndexing << std::endl;
69  // m_items.resize((size_t) DetId::kSizeForDenseIndexing);
70  // }
71  static Item dummy;
72  DetId id(rawId);
73  if ( !isValidId(id) ) return dummy;
74  return m_items[id.hashedIndex()];
75  }
std::vector< Item > m_items
Definition: DetId.h:20
bool isValidId(const DetId id) const
Definition: EcalContainer.h:98
template<typename DetId, typename T>
size_t EcalContainer< DetId, T >::size ( void  ) const
inline

Definition at line 91 of file EcalContainer.h.

Referenced by ESCondObjectContainer< T >::size(), EcalCondTowerObjectContainer< T >::size(), and EcalCondObjectContainer< EcalLaserAPDPNpair >::size().

91  {
92  return m_items.size();
93  }
std::vector< Item > m_items

Member Data Documentation

template<typename DetId, typename T>
std::vector<Item> EcalContainer< DetId, T >::m_items
private