emcTowerContainerv3 Class Reference
[Tower calibration]

#include <emcTowerContainerv3.h>

Inherits emcTowerContainer.

Inheritance diagram for emcTowerContainerv3:

Inheritance graph
[legend]
List of all members.

Detailed Description

(VERSION) Container of emcTowerContentv3.

Definition at line 21 of file emcTowerContainerv3.h.

Public Member Functions

 emcTowerContainerv3 ()
 emcTowerContainerv3 (const emcTowerContainerv3 &)
emcTowerContainerv3operator= (const emcTowerContainerv3 &)
emcTowerContainerv3clone (void) const
 Make a copy of this object.
emcTowerContainerv3create (void) const
 Make an empty copy of this object (i.e. copy only the type).
virtual ~emcTowerContainerv3 ()
unsigned int capacity (void) const
 the size you'll never exceed for this object.
emcTowerContentv3addTower (unsigned int i)
 Add a new (using default ctor) tower.
emcTowerContentv3addTower (unsigned int i, const emcTowerContent &)
 Add a new (using copy ctor) tower.
emcTowerContentv3findTower (int towerID) const
 Return a given tower (or 0 if not found) by its towerid.
emcTowerContentv3getTower (unsigned int i) const
 Return a given tower (or 0 if not found) by its index.
void identify (std::ostream &os=std::cout) const
int isValid () const
bool removeTower (unsigned int i)
void Reset ()
bool resize (unsigned int newsize)
 Set a new size for this container. Old data are lost.
unsigned int size (void) const
 the actual size of the object.

Protected Attributes

TClonesArray * fEmcTowers

Private Member Functions

void allocate (unsigned int thesize)
void copy (emcTowerContainerv3 &dest) const
bool expand (unsigned int)
bool expand_for (unsigned int)

Private Attributes

std::map< int, int > fTowerIdToIndex
bool fTowerIdToIndexIsUpToDate

Static Private Attributes

static const unsigned int fgDefaultSize = 1000
static const unsigned int fgMaxSize = 24768


Constructor & Destructor Documentation

emcTowerContainerv3::emcTowerContainerv3  ) 
 

Definition at line 17 of file emcTowerContainerv3.C.

References allocate(), and fgDefaultSize.

Referenced by clone().

emcTowerContainerv3::emcTowerContainerv3 const emcTowerContainerv3  ) 
 

Definition at line 25 of file emcTowerContainerv3.C.

References copy().

emcTowerContainerv3::~emcTowerContainerv3  )  [virtual]
 

Definition at line 45 of file emcTowerContainerv3.C.

References fEmcTowers.


Member Function Documentation

emcTowerContentv3 * emcTowerContainerv3::addTower unsigned int  i,
const emcTowerContent t
[virtual]
 

Add a new (using copy ctor) tower.

t must be of a compatible type, otherwise this will return 0.

Reimplemented from emcTowerContainer.

Definition at line 71 of file emcTowerContainerv3.C.

References capacity(), expand_for(), fTowerIdToIndexIsUpToDate, and test().

emcTowerContentv3 * emcTowerContainerv3::addTower unsigned int  i  )  [virtual]
 

Add a new (using default ctor) tower.

Reimplemented from emcTowerContainer.

Definition at line 52 of file emcTowerContainerv3.C.

References capacity(), expand_for(), and fTowerIdToIndexIsUpToDate.

Referenced by copy().

void emcTowerContainerv3::allocate unsigned int  thesize  )  [private]
 

Definition at line 99 of file emcTowerContainerv3.C.

References fEmcTowers, and fTowerIdToIndexIsUpToDate.

Referenced by copy(), and emcTowerContainerv3().

unsigned int emcTowerContainerv3::capacity void   )  const [virtual]
 

the size you'll never exceed for this object.

Reimplemented from emcTowerContainer.

Definition at line 108 of file emcTowerContainerv3.C.

References fEmcTowers.

Referenced by addTower(), and expand_for().

emcTowerContainerv3 * emcTowerContainerv3::clone void   )  const [virtual]
 

Make a copy of this object.

Reimplemented from emcTowerContainer.

Definition at line 115 of file emcTowerContainerv3.C.

References emcTowerContainerv3().

void emcTowerContainerv3::copy emcTowerContainerv3 dest  )  const [private]
 

Definition at line 129 of file emcTowerContainerv3.C.

References addTower(), allocate(), fEmcTowers, getTower(), Reset(), and size().

Referenced by emcTowerContainerv3(), and operator=().

emcTowerContainerv3 * emcTowerContainerv3::create void   )  const [virtual]
 

Make an empty copy of this object (i.e. copy only the type).

Reimplemented from emcTowerContainer.

Definition at line 122 of file emcTowerContainerv3.C.

bool emcTowerContainerv3::expand unsigned  int  )  [private]
 

Definition at line 156 of file emcTowerContainerv3.C.

References fEmcTowers, and fgMaxSize.

Referenced by expand_for(), and resize().

bool emcTowerContainerv3::expand_for unsigned  int  )  [private]
 

Definition at line 176 of file emcTowerContainerv3.C.

References capacity(), expand(), fgMaxSize, and min.

Referenced by addTower().

emcTowerContentv3 * emcTowerContainerv3::findTower int  towerID  )  const [virtual]
 

Return a given tower (or 0 if not found) by its towerid.

Reimplemented from emcTowerContainer.

Definition at line 197 of file emcTowerContainerv3.C.

References fTowerIdToIndex, fTowerIdToIndexIsUpToDate, getTower(), size(), and emcTowerContentv3::TowerID().

emcTowerContentv3 * emcTowerContainerv3::getTower unsigned int  i  )  const [virtual]
 

Return a given tower (or 0 if not found) by its index.

Reimplemented from emcTowerContainer.

Definition at line 222 of file emcTowerContainerv3.C.

References fEmcTowers.

Referenced by copy(), and findTower().

void emcTowerContainerv3::identify std::ostream &  os = std::cout  )  const [virtual]
 

Reimplemented from emcTowerContainer.

int emcTowerContainerv3::isValid  )  const [virtual]
 

Reimplemented from emcTowerContainer.

Definition at line 236 of file emcTowerContainerv3.C.

emcTowerContainerv3 & emcTowerContainerv3::operator= const emcTowerContainerv3  ) 
 

Definition at line 35 of file emcTowerContainerv3.C.

References copy().

bool emcTowerContainerv3::removeTower unsigned int  i  )  [virtual]
 

Reimplemented from emcTowerContainer.

Definition at line 252 of file emcTowerContainerv3.C.

References fEmcTowers, fTowerIdToIndexIsUpToDate, and size().

void emcTowerContainerv3::Reset  )  [virtual]
 

Reimplemented from emcTowerContainer.

Definition at line 243 of file emcTowerContainerv3.C.

References fEmcTowers, fTowerIdToIndex, and fTowerIdToIndexIsUpToDate.

Referenced by copy().

bool emcTowerContainerv3::resize unsigned int  newsize  )  [virtual]
 

Set a new size for this container. Old data are lost.

Reimplemented from emcTowerContainer.

Definition at line 269 of file emcTowerContainerv3.C.

References expand(), fEmcTowers, and size().

unsigned int emcTowerContainerv3::size void   )  const [virtual]
 

the actual size of the object.

Reimplemented from emcTowerContainer.

Definition at line 284 of file emcTowerContainerv3.C.

References fEmcTowers.

Referenced by copy(), findTower(), removeTower(), and resize().


Member Data Documentation

TClonesArray* emcTowerContainerv3::fEmcTowers [protected]
 

Definition at line 61 of file emcTowerContainerv3.h.

Referenced by allocate(), capacity(), copy(), expand(), getTower(), removeTower(), Reset(), resize(), size(), and ~emcTowerContainerv3().

const unsigned int emcTowerContainerv3::fgDefaultSize = 1000 [static, private]
 

Definition at line 69 of file emcTowerContainerv3.h.

Referenced by emcTowerContainerv3().

const unsigned int emcTowerContainerv3::fgMaxSize = 24768 [static, private]
 

Definition at line 70 of file emcTowerContainerv3.h.

Referenced by expand(), and expand_for().

std::map<int,int> emcTowerContainerv3::fTowerIdToIndex [mutable, private]
 

Definition at line 72 of file emcTowerContainerv3.h.

Referenced by findTower(), and Reset().

bool emcTowerContainerv3::fTowerIdToIndexIsUpToDate [mutable, private]
 

Definition at line 73 of file emcTowerContainerv3.h.

Referenced by addTower(), allocate(), findTower(), removeTower(), and Reset().


The documentation for this class was generated from the following files: