ATLAS Offline Software
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
TileMutableBeamElemContainer Class Referenceabstract

#include <TileMutableBeamElemContainer.h>

Inheritance diagram for TileMutableBeamElemContainer:
Collaboration diagram for TileMutableBeamElemContainer:

Public Types

typedef TileMutableDataContainer< TileBeamElemContainerBASE
 
typedef BASE::TYPE TYPE
 
typedef BASE::UNIT UNIT
 
typedef BASE::IDENTIFIABLE Collection
 
typedef BASE::TElement Element
 
typedef TCOLLECTION::TElement TElement
 
typedef TileRawDataContainer< TileBeamElemCollection >::const_iterator TContainer_const_iterator
 
typedef TCOLLECTION::TCollection_const_iterator TCollection_const_iterator
 
typedef IdentifiableContainer< TileBeamElemCollectionMyBase
 
typedef T IDENTIFIABLE
 
typedef EventContainers::IdentifiableCache< T > ICACHE
 
typedef IdentifiableContainerMT< T > MyType
 
typedef std::vector< std::atomic< const void * > >::size_type size_type
 
typedef T *& reference
 
typedef T *constconst_reference
 
typedef T * value_type
 
typedef T ** pointer
 
typedef T *constconst_pointer
 
typedef T base_value_type
 
typedef std::vector< IdentifierHashHash_Container
 

Public Member Functions

 TileMutableBeamElemContainer (bool createColl=false, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
 
 TileMutableBeamElemContainer (bool createColl, TYPE type, UNIT unit=TileRawChannelUnit::ADCcounts, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
 
 TileMutableBeamElemContainer (const BASE::BASE &other)
 Copy constructor. More...
 
StatusCode addCollection (std::unique_ptr< Collection > coll, IdentifierHash hash)
 Add a collection to the container. More...
 
virtual StatusCode addCollection (const T *coll, IdentifierHash hashId) override final
 insert collection into container with id hash if IDC should not take ownership of collection, set ownsColl to false More...
 
StatusCode push_back (std::unique_ptr< Element > rch)
 Add a new channel. More...
 
StatusCode push_back (Element *rch)
 Add a new channel. More...
 
CollectionindexFindPtr (IdentifierHash hash)
 Look up a (non-const) collection via hash. More...
 
virtual const T * indexFindPtr (IdentifierHash hashId) const override final
 return pointer on the found entry or null if out of range using hashed index - fast version, does not call cnv if object not there More...
 
StatusCode status () const
 Return the error status from the constructors. More...
 
virtual void lock () override
 Lock this object. More...
 
void initialize (bool createColl, TYPE type, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
 
TYPE get_hashType () const
 
UNIT get_unit () const
 
void set_unit (UNIT unit)
 
TYPE get_type () const
 
void set_type (TYPE type)
 
uint32_t get_bsflags () const
 
void set_bsflags (uint32_t bsflags)
 
const TileFragHashhashFunc () const
 
virtual void print () const
 
virtual operator std::string () const
 
virtual std::string whoami (void) const
 
virtual bool hasExternalCache () const override final
 
const_iterator indexFind (IdentifierHash hashId) const
 
virtual StatusCode addOrDelete (std::unique_ptr< T >, IdentifierHash hashId) override final
 Tries to add the item to the cache, if the item already exists then it is deleted This is a convenience method for online multithreaded scenarios. More...
 
virtual StatusCode addOrDelete (std::unique_ptr< const T >, IdentifierHash hashId) override final
 
StatusCode addOrDelete (std::unique_ptr< T >, IdentifierHash hashId, bool &deleted)
 identical to previous excepts allows counting of deletions More...
 
StatusCode addLock (std::unique_ptr< T > ptr, IdentifierHash hashId)
 Like the other add methods but optimized for changing from the inprogress state. More...
 
virtual bool tryAddFromCache (IdentifierHash hashId) override final
 Looks in the cache to see if item already exists if not it returns false, If it does exist it incorporates it into the IDC view but changing the mask. More...
 
StatusCode fetchOrCreate (IdentifierHash hashId)
 Tries will look for item in cache, if it doesn't exist will call the cache IMAKER If cache doesn't have an IMAKER then this fails. More...
 
StatusCode fetchOrCreate (const std::vector< IdentifierHash > &hashId)
 
virtual StatusCode naughtyRetrieve ATLAS_NOT_THREAD_SAFE (IdentifierHash hashId, T *&collToRetrieve) const override final
 
T * removeCollection (IdentifierHash hashId)
 remove collection from container for id hash, returning it (and ownership) to client More...
 
virtual void cleanup () override final
 reset m_hashids and call IdentifiableCache's cleanup More...
 
virtual size_t fullSize () const override final
 return full size of container More...
 
size_t size () const
 Duplicate of fullSize for backwards compatability. More...
 
void prepareItr () const
 
virtual size_t numberOfCollections () const override final
 return number of collections More...
 
const std::vector< EventContainers::hashPair< T > > & GetAllHashPtrPair () const
 
virtual std::vector< IdentifierHashGetAllCurrentHashes () const override final
 Returns a collection of all hashes availiable in this IDC. More...
 
const_iterator begin () const
 return const_iterator for first entry More...
 
const_iterator end () const
 return const_iterator for end of container More...
 
bool empty () const
 return true if container is empty More...
 
IDC_WriteHandle getWriteHandle (IdentifierHash hash)
 
virtual StatusCode naughtyRetrieve (IdentifierHash hashId, T *&collToRetrieve) const =0
 

Protected Types

typedef EventContainers::IdentifiableCacheBase IdentifiableCacheBase
 

Protected Member Functions

void recycle ()
 Recycle this object for use in another event. More...
 
bool tryAddFromCache (IdentifierHash hashId, EventContainers::IDC_WriteHandleBase &lock)
 
void cleanup (deleter_f *deleter)
 
bool insert (IdentifierHash hashId, const void *ptr)
 
void Wait () const
 
void ResetMask ()
 

Protected Attributes

bool m_OnlineMode
 
std::unique_ptr< I_InternalIDC > m_link
 

Private Attributes

std::vector< Collection * > m_mutableCollections
 Non-const references to collections, indexed by hash value. More...
 
bool m_locked
 Is the container locked? More...
 
StatusCode m_sc
 StatusCode from constructors. More...
 
TYPE m_defaultType
 Default type; reset to this on recycle. More...
 
UNIT m_defaultUnit
 Default unit; reset to this on recycle. More...
 
UNIT m_unit
 
TYPE m_type
 
uint32_t m_bsflags
 
TileFragHash m_hashFunc
 

Detailed Description

Definition at line 23 of file TileMutableBeamElemContainer.h.

Member Typedef Documentation

◆ BASE

Definition at line 27 of file TileMutableBeamElemContainer.h.

◆ base_value_type

template<class T >
typedef T IdentifiableContainerMT< T >::base_value_type
inherited

Definition at line 78 of file IdentifiableContainerMT.h.

◆ Collection

Definition at line 57 of file TileMutableDataContainer.h.

◆ const_pointer

template<class T >
typedef T* const* IdentifiableContainerMT< T >::const_pointer
inherited

Definition at line 77 of file IdentifiableContainerMT.h.

◆ const_reference

template<class T >
typedef T* const& IdentifiableContainerMT< T >::const_reference
inherited

Definition at line 74 of file IdentifiableContainerMT.h.

◆ Element

Definition at line 58 of file TileMutableDataContainer.h.

◆ Hash_Container

Definition at line 18 of file IdentifiableContainerBase.h.

◆ ICACHE

template<class T >
typedef EventContainers::IdentifiableCache<T> IdentifiableContainerMT< T >::ICACHE
inherited

Definition at line 70 of file IdentifiableContainerMT.h.

◆ IDENTIFIABLE

template<class T >
typedef T IdentifiableContainerMT< T >::IDENTIFIABLE
inherited

Definition at line 69 of file IdentifiableContainerMT.h.

◆ IdentifiableCacheBase

Definition at line 25 of file IdentifiableContainerBase.h.

◆ MyBase

Definition at line 41 of file TileRawDataContainer.h.

◆ MyType

template<class T >
typedef IdentifiableContainerMT<T> IdentifiableContainerMT< T >::MyType
inherited

Definition at line 71 of file IdentifiableContainerMT.h.

◆ pointer

template<class T >
typedef T** IdentifiableContainerMT< T >::pointer
inherited

Definition at line 76 of file IdentifiableContainerMT.h.

◆ reference

template<class T >
typedef T*& IdentifiableContainerMT< T >::reference
inherited

Definition at line 73 of file IdentifiableContainerMT.h.

◆ size_type

template<class T >
typedef std::vector<std::atomic<const void*> >::size_type IdentifiableContainerMT< T >::size_type
inherited

Definition at line 72 of file IdentifiableContainerMT.h.

◆ TCollection_const_iterator

typedef TCOLLECTION::TCollection_const_iterator TileRawDataContainer< TileBeamElemCollection >::TCollection_const_iterator
inherited

Definition at line 39 of file TileRawDataContainer.h.

◆ TContainer_const_iterator

Definition at line 38 of file TileRawDataContainer.h.

◆ TElement

typedef TCOLLECTION::TElement TileRawDataContainer< TileBeamElemCollection >::TElement
inherited

Definition at line 37 of file TileRawDataContainer.h.

◆ TYPE

Definition at line 55 of file TileMutableDataContainer.h.

◆ UNIT

Definition at line 56 of file TileMutableDataContainer.h.

◆ value_type

template<class T >
typedef T* IdentifiableContainerMT< T >::value_type
inherited

Definition at line 75 of file IdentifiableContainerMT.h.

Constructor & Destructor Documentation

◆ TileMutableBeamElemContainer() [1/3]

TileMutableBeamElemContainer::TileMutableBeamElemContainer ( bool  createColl = false,
SG::OwnershipPolicy  ownPolicy = SG::OWN_ELEMENTS 
)
inline

Definition at line 29 of file TileMutableBeamElemContainer.h.

31  : BASE (createColl,
34  ownPolicy)
35  {
36  }

◆ TileMutableBeamElemContainer() [2/3]

TileMutableBeamElemContainer::TileMutableBeamElemContainer ( bool  createColl,
TYPE  type,
UNIT  unit = TileRawChannelUnit::ADCcounts,
SG::OwnershipPolicy  ownPolicy = SG::OWN_ELEMENTS 
)
inline

Definition at line 39 of file TileMutableBeamElemContainer.h.

43  : BASE (createColl, type,
44  unit, ownPolicy)
45  {
46  }

◆ TileMutableBeamElemContainer() [3/3]

TileMutableBeamElemContainer::TileMutableBeamElemContainer ( const BASE::BASE other)
inline

Copy constructor.

Parameters
otherContainer to copy.

This is a deep copy; all contained collections and channels will be copied. Call status() after this to check for errors.

Definition at line 56 of file TileMutableBeamElemContainer.h.

57  : BASE (other)
58  {
59  }

Member Function Documentation

◆ addCollection() [1/2]

template<class T >
StatusCode IdentifiableContainerMT< T >::addCollection ( const T *  coll,
IdentifierHash  hashId 
)
finaloverridevirtualinherited

insert collection into container with id hash if IDC should not take ownership of collection, set ownsColl to false

Implements EventContainers::IIdentifiableCont< T >.

Definition at line 300 of file IdentifiableContainerMT.h.

301 {
302  // update m_hashids
303  if (ATH_UNLIKELY(! IdentifiableContainerBase::insert(hashId, coll))) return StatusCode::FAILURE;
304  return StatusCode::SUCCESS;
305 
306 }

◆ addCollection() [2/2]

StatusCode TileMutableDataContainer< TileBeamElemContainer >::addCollection ( std::unique_ptr< Collection coll,
IdentifierHash  hash 
)
inherited

Add a collection to the container.

Parameters
collCollection ot add.
hashHash value for the collection.

We maintain a non-const reference to the collection.

◆ addLock()

template<class T >
StatusCode IdentifiableContainerMT< T >::addLock ( std::unique_ptr< T >  ptr,
IdentifierHash  hashId 
)
inherited

Like the other add methods but optimized for changing from the inprogress state.

Definition at line 375 of file IdentifiableContainerMT.h.

376 {
377  return m_link->addLock(hashId, ptr.release());
378 }

◆ addOrDelete() [1/3]

template<class T >
virtual StatusCode IdentifiableContainerMT< T >::addOrDelete ( std::unique_ptr< const T >  ,
IdentifierHash  hashId 
)
finaloverridevirtualinherited

◆ addOrDelete() [2/3]

template<class T >
StatusCode IdentifiableContainerMT< T >::addOrDelete ( std::unique_ptr< T >  uptr,
IdentifierHash  hashId 
)
finaloverridevirtualinherited

Tries to add the item to the cache, if the item already exists then it is deleted This is a convenience method for online multithreaded scenarios.

Implements EventContainers::IIdentifiableCont< T >.

Definition at line 353 of file IdentifiableContainerMT.h.

354 {
355  if(ATH_UNLIKELY(hashId >= m_link->fullSize())) return StatusCode::FAILURE;
356  auto ptr = uptr.release();
357  bool b = IdentifiableContainerBase::insert(hashId, ptr);
358  if(!b) delete ptr;
359  return StatusCode::SUCCESS;
360 }

◆ addOrDelete() [3/3]

template<class T >
StatusCode IdentifiableContainerMT< T >::addOrDelete ( std::unique_ptr< T >  uptr,
IdentifierHash  hashId,
bool &  deleted 
)
inherited

identical to previous excepts allows counting of deletions

Definition at line 382 of file IdentifiableContainerMT.h.

383 {
384  if(ATH_UNLIKELY(hashId >= m_link->fullSize())) return StatusCode::FAILURE;
385  auto ptr = uptr.release();
386  bool b = IdentifiableContainerBase::insert(hashId, ptr);
387  if(!b) delete ptr;
388  deleted = !b;
389  return StatusCode::SUCCESS;
390 }

◆ ATLAS_NOT_THREAD_SAFE()

template<class T >
virtual StatusCode naughtyRetrieve IdentifiableContainerMT< T >::ATLAS_NOT_THREAD_SAFE ( IdentifierHash  hashId,
T *&  collToRetrieve 
) const
finaloverridevirtualinherited

◆ begin()

template<class T >
const_iterator IdentifiableContainerMT< T >::begin ( ) const
inlineinherited

return const_iterator for first entry

Definition at line 236 of file IdentifiableContainerMT.h.

236  {
237  return const_iterator(m_link->cbegin());
238  }

◆ cleanup() [1/2]

template<class T >
void IdentifiableContainerMT< T >::cleanup
finaloverridevirtualinherited

reset m_hashids and call IdentifiableCache's cleanup

Implements EventContainers::IIdentifiableCont< T >.

Definition at line 312 of file IdentifiableContainerMT.h.

313 {
314  IdentifiableContainerBase::cleanup(void_unique_ptr::Deleter<T>::deleter);
315 }

◆ cleanup() [2/2]

void IdentifiableContainerBase::cleanup ( deleter_f deleter)
protectedinherited

Definition at line 38 of file IdentifiableContainerBase.cxx.

38  {
39  if(m_OnlineMode) throw std::runtime_error("Not implemented in online mode");
40  m_link->cleanUp(deleter);
41  }

◆ empty()

template<class T >
bool IdentifiableContainerMT< T >::empty ( ) const
inlineinherited

return true if container is empty

Definition at line 247 of file IdentifiableContainerMT.h.

247  {
248  return numberOfCollections()==0;
249  }

◆ end()

template<class T >
const_iterator IdentifiableContainerMT< T >::end ( ) const
inlineinherited

return const_iterator for end of container

Definition at line 242 of file IdentifiableContainerMT.h.

242  {
243  return const_iterator(m_link->cend());
244  }

◆ fetchOrCreate() [1/2]

template<class T >
StatusCode IdentifiableContainerMT< T >::fetchOrCreate ( const std::vector< IdentifierHash > &  hashId)
inherited

Definition at line 326 of file IdentifiableContainerMT.h.

327 {
328  return IdentifiableContainerBase::fetchOrCreate(hashIds);
329 }

◆ fetchOrCreate() [2/2]

template<class T >
StatusCode IdentifiableContainerMT< T >::fetchOrCreate ( IdentifierHash  hashId)
inherited

Tries will look for item in cache, if it doesn't exist will call the cache IMAKER If cache doesn't have an IMAKER then this fails.

Definition at line 319 of file IdentifiableContainerMT.h.

320 {
321  return IdentifiableContainerBase::fetchOrCreate(hashId);
322 }

◆ fullSize()

template<class T >
virtual size_t IdentifiableContainerMT< T >::fullSize ( ) const
inlinefinaloverridevirtualinherited

return full size of container

Implements EventContainers::IIdentifiableCont< T >.

Definition at line 204 of file IdentifiableContainerMT.h.

204  {
205  return m_link->fullSize();
206  }

◆ get_bsflags()

uint32_t TileRawDataContainer< TileBeamElemCollection >::get_bsflags ( ) const
inlineinherited

Definition at line 64 of file TileRawDataContainer.h.

64 { return this->m_bsflags; }

◆ get_hashType()

TYPE TileRawDataContainer< TileBeamElemCollection >::get_hashType ( ) const
inlineinherited

Definition at line 59 of file TileRawDataContainer.h.

59 { return this->m_hashFunc.type(); }

◆ get_type()

TYPE TileRawDataContainer< TileBeamElemCollection >::get_type ( ) const
inlineinherited

Definition at line 62 of file TileRawDataContainer.h.

62 { return this->m_type; }

◆ get_unit()

UNIT TileRawDataContainer< TileBeamElemCollection >::get_unit ( ) const
inlineinherited

Definition at line 60 of file TileRawDataContainer.h.

60 { return this->m_unit; }

◆ GetAllCurrentHashes()

template<class T >
virtual std::vector<IdentifierHash> IdentifiableContainerMT< T >::GetAllCurrentHashes ( ) const
inlinefinaloverridevirtualinherited

Returns a collection of all hashes availiable in this IDC.

If this is an "offline" mode IDC then this is identical to the cache If this is an "online" mode IDC then this is the items that both exist in the cache and have a postive mask element

Implements EventContainers::IIdentifiableCont< T >.

Definition at line 231 of file IdentifiableContainerMT.h.

231  {
232  return IdentifiableContainerBase::GetAllCurrentHashes();
233  }

◆ GetAllHashPtrPair()

template<class T >
const std::vector< EventContainers::hashPair<T> >& IdentifiableContainerMT< T >::GetAllHashPtrPair ( ) const
inlineinherited

Definition at line 220 of file IdentifiableContainerMT.h.

220  {
221  static_assert(sizeof(const T*) == sizeof(const void*) && std::is_pointer<const T*>::value);
222  static_assert(sizeof(EventContainers::hashPair<T>) == sizeof(EventContainers::hashPair<void>));
223  return reinterpret_cast<const std::vector < EventContainers::hashPair<T> >&>
224  (m_link->getAllHashPtrPair());
225  }

◆ getWriteHandle()

template<class T >
IDC_WriteHandle IdentifiableContainerMT< T >::getWriteHandle ( IdentifierHash  hash)
inlineinherited

Definition at line 251 of file IdentifiableContainerMT.h.

252  {
253  IDC_WriteHandle lock;
254  lock.m_hashId = hash;
255  lock.m_IDC_ptr = this;
256  return lock;
257  }

◆ hasExternalCache()

template<class T >
virtual bool IdentifiableContainerMT< T >::hasExternalCache ( ) const
inlinefinaloverridevirtualinherited

Implements EventContainers::IIdentifiableCont< T >.

Definition at line 155 of file IdentifiableContainerMT.h.

155 { return m_OnlineMode; }

◆ hashFunc()

const TileFragHash& TileRawDataContainer< TileBeamElemCollection >::hashFunc ( ) const
inlineinherited

Definition at line 66 of file TileRawDataContainer.h.

66 { return this->m_hashFunc; }

◆ indexFind()

template<class T >
const_iterator IdentifiableContainerMT< T >::indexFind ( IdentifierHash  hashId) const
inlineinherited

Definition at line 163 of file IdentifiableContainerMT.h.

163  {
164  return m_link->indexFind(hashId);
165  }

◆ indexFindPtr() [1/2]

Look up a (non-const) collection via hash.

Parameters
hashHash value to find.

◆ indexFindPtr() [2/2]

template<class T >
const T * IdentifiableContainerMT< T >::indexFindPtr ( IdentifierHash  hashId) const
finaloverridevirtualinherited

return pointer on the found entry or null if out of range using hashed index - fast version, does not call cnv if object not there

return valuetype on the found entry or null if out of range using hashed index - fast version, does not call cnv if object not there

Implements EventContainers::IIdentifiableCont< T >.

Definition at line 292 of file IdentifiableContainerMT.h.

293 {
294  return reinterpret_cast<const T* > (IdentifiableContainerBase::indexFindPtr(hashId));
295 }

◆ initialize()

void TileRawDataContainer< TileBeamElemCollection >::initialize ( bool  createColl,
TYPE  type,
SG::OwnershipPolicy  ownPolicy = SG::OWN_ELEMENTS 
)
inherited

◆ insert()

bool EventContainers::IdentifiableContainerBase::insert ( IdentifierHash  hashId,
const void *  ptr 
)
inlineprotectedinherited

Definition at line 28 of file IdentifiableContainerBase.h.

28 { return m_link->insert(hashId, ptr); }

◆ lock()

virtual void TileMutableDataContainer< TileBeamElemContainer >::lock
overridevirtualinherited

Lock this object.

Called when this object is locked in SG. Prohibit non-const acces to this container.

Implements ILockable.

◆ naughtyRetrieve()

template<class T >
virtual StatusCode EventContainers::IIdentifiableCont< T >::naughtyRetrieve ( IdentifierHash  hashId,
T *&  collToRetrieve 
) const
pure virtualinherited

◆ numberOfCollections()

template<class T >
virtual size_t IdentifiableContainerMT< T >::numberOfCollections ( ) const
inlinefinaloverridevirtualinherited

return number of collections

Implements EventContainers::IIdentifiableCont< T >.

Definition at line 216 of file IdentifiableContainerMT.h.

216  {
217  return IdentifiableContainerBase::numberOfCollections();
218  }

◆ operator std::string()

virtual TileRawDataContainer< TileBeamElemCollection >::operator std::string ( ) const
virtualinherited

◆ prepareItr()

template<class T >
void IdentifiableContainerMT< T >::prepareItr ( ) const
inlineinherited

Definition at line 213 of file IdentifiableContainerMT.h.

213 { m_link->wait(); }

◆ print()

virtual void TileRawDataContainer< TileBeamElemCollection >::print ( ) const
virtualinherited

◆ push_back() [1/2]

StatusCode TileMutableDataContainer< TileBeamElemContainer >::push_back ( Element rch)
inherited

Add a new channel.

Parameters
rchChannel to add.

This should be used for non-owning container (created with SG::VIEW_ELEMENTS). A new collection will be created if needed. In that case, we maintain a non-const reference to it.

◆ push_back() [2/2]

StatusCode TileMutableDataContainer< TileBeamElemContainer >::push_back ( std::unique_ptr< Element rch)
inherited

Add a new channel.

Parameters
rchChannel to add.

This should be used for owning container (created with SG::OWN_ELEMENTS). A new collection will be created if needed. In that case, we maintain a non-const reference to it.

◆ recycle()

void TileMutableDataContainer< TileBeamElemContainer >::recycle
protectedinherited

Recycle this object for use in another event.

This is called from AthenaKernel/RecyclableDataObject when this object is released by StoreGate. Unlock the object so that non-const access is again possible, and clear out the contents if the collections.

◆ removeCollection()

template<class T >
T * IdentifiableContainerMT< T >::removeCollection ( IdentifierHash  hashId)
inherited

remove collection from container for id hash, returning it (and ownership) to client

Definition at line 262 of file IdentifiableContainerMT.h.

263 {
264  return reinterpret_cast<T*>(m_link->removeCollection(hashId));
265 }

◆ ResetMask()

void EventContainers::IdentifiableContainerBase::ResetMask ( )
protectedinherited

◆ set_bsflags()

void TileRawDataContainer< TileBeamElemCollection >::set_bsflags ( uint32_t  bsflags)
inlineinherited

Definition at line 65 of file TileRawDataContainer.h.

65 { m_bsflags=bsflags; }

◆ set_type()

void TileRawDataContainer< TileBeamElemCollection >::set_type ( TYPE  type)
inlineinherited

Definition at line 63 of file TileRawDataContainer.h.

63 { m_type=type; }

◆ set_unit()

void TileRawDataContainer< TileBeamElemCollection >::set_unit ( UNIT  unit)
inlineinherited

Definition at line 61 of file TileRawDataContainer.h.

61 { m_unit=unit; }

◆ size()

template<class T >
size_t IdentifiableContainerMT< T >::size ( ) const
inlineinherited

Duplicate of fullSize for backwards compatability.

Definition at line 209 of file IdentifiableContainerMT.h.

209  {
210  return m_link->fullSize();
211  }

◆ status()

StatusCode TileMutableDataContainer< TileBeamElemContainer >::status
inherited

Return the error status from the constructors.

◆ tryAddFromCache() [1/2]

template<class T >
bool IdentifiableContainerMT< T >::tryAddFromCache ( IdentifierHash  hashId)
finaloverridevirtualinherited

Looks in the cache to see if item already exists if not it returns false, If it does exist it incorporates it into the IDC view but changing the mask.

Implements EventContainers::IIdentifiableCont< T >.

Definition at line 334 of file IdentifiableContainerMT.h.

335 {
336  return IdentifiableContainerBase::tryAddFromCache(hashId);
337 }

◆ tryAddFromCache() [2/2]

bool EventContainers::IdentifiableContainerBase::tryAddFromCache ( IdentifierHash  hashId,
EventContainers::IDC_WriteHandleBase lock 
)
inlineprotectedinherited

Definition at line 30 of file IdentifiableContainerBase.h.

30  {
31  return m_link->tryAddFromCache(hashId, lock); }

◆ Wait()

void EventContainers::IdentifiableContainerBase::Wait ( ) const
inlineprotectedinherited

Definition at line 29 of file IdentifiableContainerBase.h.

29 { m_link->wait(); }

◆ whoami()

virtual std::string TileRawDataContainer< TileBeamElemCollection >::whoami ( void  ) const
inlinevirtualinherited

Definition at line 71 of file TileRawDataContainer.h.

71  { TCOLLECTION coll;
72  return "TileRawDataContainer of "+coll.whoami(); }

Member Data Documentation

◆ m_bsflags

uint32_t TileRawDataContainer< TileBeamElemCollection >::m_bsflags
privateinherited

Definition at line 78 of file TileRawDataContainer.h.

◆ m_defaultType

TYPE TileMutableDataContainer< TileBeamElemContainer >::m_defaultType
privateinherited

Default type; reset to this on recycle.

Definition at line 175 of file TileMutableDataContainer.h.

◆ m_defaultUnit

UNIT TileMutableDataContainer< TileBeamElemContainer >::m_defaultUnit
privateinherited

Default unit; reset to this on recycle.

Definition at line 178 of file TileMutableDataContainer.h.

◆ m_hashFunc

TileFragHash TileRawDataContainer< TileBeamElemCollection >::m_hashFunc
privateinherited

Definition at line 80 of file TileRawDataContainer.h.

◆ m_link

std::unique_ptr<I_InternalIDC> EventContainers::IdentifiableContainerBase::m_link
protectedinherited

Definition at line 26 of file IdentifiableContainerBase.h.

◆ m_locked

bool TileMutableDataContainer< TileBeamElemContainer >::m_locked
privateinherited

Is the container locked?

Definition at line 169 of file TileMutableDataContainer.h.

◆ m_mutableCollections

std::vector<Collection*> TileMutableDataContainer< TileBeamElemContainer >::m_mutableCollections
privateinherited

Non-const references to collections, indexed by hash value.

Definition at line 166 of file TileMutableDataContainer.h.

◆ m_OnlineMode

bool EventContainers::IdentifiableContainerBase::m_OnlineMode
protectedinherited

Definition at line 24 of file IdentifiableContainerBase.h.

◆ m_sc

StatusCode TileMutableDataContainer< TileBeamElemContainer >::m_sc
privateinherited

StatusCode from constructors.

Definition at line 172 of file TileMutableDataContainer.h.

◆ m_type

TYPE TileRawDataContainer< TileBeamElemCollection >::m_type
privateinherited

Definition at line 77 of file TileRawDataContainer.h.

◆ m_unit

UNIT TileRawDataContainer< TileBeamElemCollection >::m_unit
privateinherited

Definition at line 76 of file TileRawDataContainer.h.


The documentation for this class was generated from the following file:
IdentifiableContainerMT::IDC_WriteHandle
friend class IDC_WriteHandle
Definition: IdentifiableContainerMT.h:143
TileRawDataContainer< TileBeamElemCollection >::m_type
TYPE m_type
Definition: TileRawDataContainer.h:77
athena.value
value
Definition: athena.py:122
ATH_UNLIKELY
#define ATH_UNLIKELY(x)
Definition: AthUnlikelyMacros.h:17
TileRawDataContainer< TileBeamElemCollection >::m_unit
UNIT m_unit
Definition: TileRawDataContainer.h:76
EventContainers::hashPair
Definition: I_InternalIDC.h:25
void_unique_ptr::Deleter
Definition: deleter.h:22
TileRawDataContainer< TileBeamElemCollection >::m_hashFunc
TileFragHash m_hashFunc
Definition: TileRawDataContainer.h:80
EventContainers::IdentifiableContainerBase::m_link
std::unique_ptr< I_InternalIDC > m_link
Definition: IdentifiableContainerBase.h:26
IdentifiableContainerMT::numberOfCollections
virtual size_t numberOfCollections() const override final
return number of collections
Definition: IdentifiableContainerMT.h:216
TileMutableBeamElemContainer::BASE
TileMutableDataContainer< TileBeamElemContainer > BASE
Definition: TileMutableBeamElemContainer.h:27
TileFragHash::Beam
@ Beam
Definition: TileFragHash.h:33
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
TileFragHash::type
TYPE type() const
return hash type
Definition: TileFragHash.h:56
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
TileRawDataContainer< TileBeamElemCollection >::m_bsflags
uint32_t m_bsflags
Definition: TileRawDataContainer.h:78
unit
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
Definition: AmgMatrixBasePlugin.h:20
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
EventContainers::IdentifiableContainerBase::m_OnlineMode
bool m_OnlineMode
Definition: IdentifiableContainerBase.h:24
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
TileRawChannelUnit::ADCcounts
@ ADCcounts
Definition: TileRawChannelUnit.h:17