|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    7 #ifndef CALOEVENT_CALOPREFETCH_H 
    8 #define CALOEVENT_CALOPREFETCH_H 
   45 template <
typename Iter>
 
   49   if (++
iter != endIter) {
 
   52     if (++
iter != endIter) {
 
   54       CxxUtils::prefetchObj<CaloCell>(*
iter);
 
   70 template <
typename Iter>
 
   75     if (++
iter != endIter) {
 
   83     if (++
iter != endIter) {
 
   85       CxxUtils::prefetchObj<CaloCell>(*
iter);
 
  101 template <
class T, 
class ALLOC, 
int COUNT=1>
 
  113     for (
int i = 0; 
i != COUNT; ++ 
i) {
 
  116     for (
int i = 0; 
i != COUNT; ++ 
i) {
 
  117       CxxUtils::prefetchN<sizeof(T)>(
m_buf[
i]);
 
  129     CxxUtils::prefetchN<sizeof(T)>(
m_buf[COUNT-1]);
 
  138     for (
int i = 0; 
i != COUNT; ++ 
i) {
 
  141     for (
int i = 0; 
i != COUNT; ++ 
i) {
 
  142       CxxUtils::prefetchN<sizeof(T)>(
m_buf[
i]);
 
  153 #endif // CALOEVENT_CALOPREFETCH_H 
  
Wrapper for SG::ArenaHandle with pre-fetching.
User interface for allocating memory.
User interface for allocating memory. See Arena.h for an overview of the arena-based memory allocator...
void * allocate()
Allocate a new element.
void erase()
Free all allocated elements and release memory back to the system (of this type in the current Arena)...
This software was developed for the ATLAS project.
std::pair< std::vector< unsigned int >, bool > res
SG::ArenaHandle< T, ALLOC > Base
void * allocate()
Return space for new element, then allocate and prefetch one more.
void prefetchObj(const T *ptr)
Generic prefetch of the object of specific types (sizes).
ArenaHandlePrefetch()
Make.
void nextDDE(Iter iter, Iter endIter)
Prefetch next CaloDDE.
Functions to prefetch blocks of memory.
void erase()
Free all allocated elements.