ATLAS Offline Software
|
CaloCellContainer
that can accept const cell pointers.
More...
#include <CaloConstCellContainer.h>
Public Types | |
typedef DV::size_type | size_type |
Basic types, forwarded from the base. More... | |
typedef DV::difference_type | difference_type |
typedef DV::allocator_type | allocator_type |
typedef DV::base_value_type | base_value_type |
typedef DV::BaseContainer | BaseContainer |
typedef DV::DVL_BASE | DVL_BASE |
typedef DV::const_iterator | const_iterator |
typedef DV::const_reverse_iterator | const_reverse_iterator |
typedef DataVector< base_value_type > | base_data_vector |
typedef DV::const_value_type | value_type |
These types get modified so that the base's const_value_type becomes our value_type . More... | |
typedef DV::const_value_type | const_value_type |
typedef DV::const_value_type & | reference |
typedef DV::const_value_type const & | const_reference |
typedef DV::const_value_type * | pointer |
typedef DV::const_value_type const * | const_pointer |
typedef std::unique_ptr< const base_value_type > | unique_type |
Type of a unique_ptr that can be used to insert elements into this container. More... | |
typedef DataModel_detail::ElementProxy< ConstDataVector > | ElementProxy |
This type is used to proxy lvalue accesses to DataVector elements, in order to handle ownership. More... | |
typedef DataModel_detail::iterator< ConstDataVector > | iterator |
The iterator for this type. More... | |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Standard reverse_iterator . More... | |
typedef boost::true_type | isSequence |
Public Member Functions | |
CaloConstCellContainer (SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) | |
Constructor. More... | |
::CaloCellContainer::const_iterator | beginConstCalo (CaloCell_ID::SUBCALO caloNum) const |
get const begin iterator on cell of just one calo More... | |
::CaloCellContainer::const_iterator | endConstCalo (CaloCell_ID::SUBCALO caloNum) const |
get const begin iterator on cell of just one calo More... | |
bool | checkOrderedAndComplete () const |
verify one by one the container is complete (i.e. More... | |
void | setIsOrderedAndComplete (bool ordered) |
indicate that the container is complete and in order More... | |
bool | isOrderedAndComplete () const |
tell wether container is complete and in order More... | |
bool | checkOrdered () const |
verify one by one the container is ordered More... | |
void | setIsOrdered (bool ordered) |
indicates that the container is ordered More... | |
bool | isOrdered () const |
tell wether container is ordered More... | |
bool | hasTotalSize () const |
tell wether container has total hash id size More... | |
bool | hasCalo (const CaloCell_ID::SUBCALO caloNum) const |
tell whether it has been filled with cells (maybe none) of a given calo More... | |
int | indexFirstCellCalo (const CaloCell_ID::SUBCALO caloNum) const |
index of first cell of given calorimeter (-1 if none). More... | |
int | indexLastCellCalo (const CaloCell_ID::SUBCALO caloNum) const |
index of last cell of given calorimeter (-2 if none) Note that it is normally more efficient to use iterators. More... | |
int | nCellsCalo (const CaloCell_ID::SUBCALO caloNum) const |
get number of cels of given calorimeter More... | |
void | setHasCalo (CaloCell_ID::SUBCALO caloNum) |
set which calo has been filled. More... | |
void | updateCaloIterators () |
fill calo iterators and the index of first and last cell IT IS THE RESPONSABILITY OF THE PRODUCER TO CALL THIS METHOD ONCE THE FILLING IS FINISHED Please use CaloCellContainerFinalizerTool to make sure the container is properly finalised. More... | |
void | updateCaloBeginIterators (int ic, int ind) |
fills calo iterators and the index of first cell for a given subcalo More... | |
void | updateCaloEndIterators (int ic, int ind) |
fills calo iterators and the index of last cell for a given subcalo More... | |
const CaloCell * | findCell (IdentifierHash theHash) const |
fast find method given identifier hash. More... | |
int | findIndex (IdentifierHash theHash) const |
Return index of the cell with a given hash. More... | |
void | findCellVector (const std::vector< IdentifierHash > &theVectorHash, ::CaloCellContainer::CellVector &theCellVector) const |
fast find method given vector of identifier hash. More... | |
void | order () |
order container More... | |
void | push_back_fast (const CaloCell *cell) |
reimplementation of push_back to gain speed in readin More... | |
void | push_back_fast (std::unique_ptr< const CaloCell > cell) |
reimplementation of push_back to gain speed in readin (UP version) More... | |
void | resetLookUpTable () |
reset look up table More... | |
void | push_back_fast (CaloCell *) |
reimplementation of push_back to gain speed in readin More... | |
CaloCell * | findCell (const IdentifierHash theHash) |
fast find method given identifier hash. More... | |
void | findCellVector (const std::vector< IdentifierHash > &theVectorHash, CellVector &theCellVector) const |
fast find method given vector of identifier hash. More... | |
void | findCellVector (const std::vector< IdentifierHash > &theVectorHash, MutableCellVector &theCellVector) |
fast find method given vector of identifier hash. More... | |
Constructors, destructors, assignment. | |
void | assign (InputIterator first, InputIterator last) |
Assign from iterators. More... | |
void | assign (std::initializer_list< value_type > l) |
Assign from an initializer list. More... | |
void | assign (const std::vector< ElementLink< CONTAINER > > &v) |
Assign from a vector of ElementLinks. More... | |
Element access. | |
ElementProxy | operator[] (size_type n) |
Access an element, as an lvalue. More... | |
ElementProxy | at (size_type n) |
Access an element, as an lvalue. More... | |
ElementProxy | front () |
Access the first element in the collection as an lvalue. More... | |
ElementProxy | back () |
Access the last element in the collection as an lvalue. More... | |
Iterator creation. | |
iterator | begin () noexcept |
Return an iterator pointing at the beginning of the collection. More... | |
iterator | end () noexcept |
Return an iterator pointing past the end of the collection. More... | |
reverse_iterator | rbegin () noexcept |
Return a reverse_iterator pointing past the end of the collection. More... | |
reverse_iterator | rend () noexcept |
Return a reverse_iterator pointing at the beginning of the collection. More... | |
Insertion operations. | |
value_type | push_back (value_type pElem) |
Add an element to the end of the collection. More... | |
value_type | push_back (std::unique_ptr< const base_value_type > pElem) |
Add an element to the end of the collection. More... | |
value_type | emplace_back (value_type pElem) |
Add an element to the end of the collection. More... | |
iterator | insert (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
void | insert (iterator position, InputIterator first, InputIterator last) |
Add a group of new elements to the collection. More... | |
iterator | insert (iterator position, std::unique_ptr< const base_value_type > pElem) |
Add a new element to the collection. More... | |
void | insert (iterator position, std::initializer_list< value_type > l) |
Add a group of new elements to the collection. More... | |
iterator | emplace (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
Erasure operations. | |
iterator | erase (iterator position) |
Remove element at a given position. More... | |
iterator | erase (iterator first, iterator last) |
Remove a range of elements. More... | |
void | clear () |
Erase all the elements in the collection. More... | |
Relational operators. | |
bool | operator< (const ConstDataVector &b) const |
Vector ordering relation. More... | |
bool | operator> (const ConstDataVector &b) const |
Based on operator<. More... | |
bool | operator<= (const ConstDataVector &b) const |
Based on operator<. More... | |
bool | operator>= (const ConstDataVector &b) const |
Based on operator<. More... | |
bool | operator== (const ConstDataVector &b) const |
Vector equality comparison. More... | |
bool | operator!= (const ConstDataVector &b) const |
Based on operator==. More... | |
Element access. | |
ElementProxy | operator[] (size_type n) |
Access an element, as an lvalue. More... | |
ElementProxy | at (size_type n) |
Access an element, as an lvalue. More... | |
ElementProxy | front () |
Access the first element in the collection as an lvalue. More... | |
ElementProxy | back () |
Access the last element in the collection as an lvalue. More... | |
Iterator creation. | |
iterator | begin () noexcept |
Return an iterator pointing at the beginning of the collection. More... | |
iterator | end () noexcept |
Return an iterator pointing past the end of the collection. More... | |
reverse_iterator | rbegin () noexcept |
Return a reverse_iterator pointing past the end of the collection. More... | |
reverse_iterator | rend () noexcept |
Return a reverse_iterator pointing at the beginning of the collection. More... | |
Insertion operations. | |
value_type | push_back (value_type pElem) |
Add an element to the end of the collection. More... | |
value_type | push_back (std::unique_ptr< const base_value_type > pElem) |
Add an element to the end of the collection. More... | |
value_type | emplace_back (value_type pElem) |
Add an element to the end of the collection. More... | |
iterator | insert (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
void | insert (iterator position, InputIterator first, InputIterator last) |
Add a group of new elements to the collection. More... | |
iterator | insert (iterator position, std::unique_ptr< const base_value_type > pElem) |
Add a new element to the collection. More... | |
void | insert (iterator position, std::initializer_list< value_type > l) |
Add a group of new elements to the collection. More... | |
iterator | emplace (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
Erasure operations. | |
iterator | erase (iterator position) |
Remove element at a given position. More... | |
iterator | erase (iterator first, iterator last) |
Remove a range of elements. More... | |
void | clear () |
Erase all the elements in the collection. More... | |
Relational operators. | |
bool | operator< (const ConstDataVector &b) const |
Vector ordering relation. More... | |
bool | operator> (const ConstDataVector &b) const |
Based on operator<. More... | |
bool | operator<= (const ConstDataVector &b) const |
Based on operator<. More... | |
bool | operator>= (const ConstDataVector &b) const |
Based on operator<. More... | |
bool | operator== (const ConstDataVector &b) const |
Vector equality comparison. More... | |
bool | operator!= (const ConstDataVector &b) const |
Based on operator==. More... | |
Static Public Attributes | |
static const bool | has_virtual |
This needs to be forwarded from the base as well. More... | |
static constexpr bool | must_own |
If true, then this type must own its contents. More... | |
Private Types | |
typedef std::vector< const CaloCell * > | CellVector |
type to be used for the internal lookup table, and to return list of cells More... | |
typedef std::vector< CaloCell * > | MutableCellVector |
Return from non-const findCellVector. More... | |
typedef typename DataVectorBase< CaloCell >::Base | DataVector_BASE |
typedef BASE::PtrVector | PtrVector |
This is the type of the underlying std::vector (what stdcont returns). More... | |
using | Deleter = typename BASE::Deleter |
Private Member Functions | |
void | setHasTotalSize (bool flag) |
If @ flag is true, then the container size equals the maximum hash. More... | |
::CaloCellContainer * | baseContainer () |
Return a non-const pointer to the base container. More... | |
void | push_back (CaloCell *) |
reimplementation of const push_back More... | |
void | push_back (std::unique_ptr< CaloCell >) |
reimplementation of const push_back(unique_ptr>) More... | |
CaloCellContainer::iterator | beginCalo (CaloCell_ID::SUBCALO caloNum) |
get non const iterators on cell of just one calo More... | |
CaloCellContainer::iterator | endCalo (CaloCell_ID::SUBCALO caloNum) |
void | initializeLookUpTable () |
initialize look up table. More... | |
IMessageSvc * | msgSvc () const |
get message service More... | |
void | updateCaloIteratorsOrdered (CaloCellContainer::iterator beg, CaloCellContainer::iterator end) |
Recursively find division points between subcalos in the container. More... | |
void | orderWhenIncomplete () |
order when container is incomplete More... | |
void | orderWhenComplete () |
order when container is complete More... | |
const CxxUtils::PackedArray & | getLookUpTable () const |
Retrieve an initialized lookup table. More... | |
Size and capacity. | |
size_type | size () const noexcept |
Returns the number of elements in the collection. More... | |
void | resize (size_type sz) |
Resizes the collection to the specified number of elements. More... | |
void | reserve (size_type n) |
Attempt to preallocate enough memory for a specified number of elements. More... | |
Constructors, destructors, assignment. | |
void | assign (std::initializer_list< value_type > l) |
Element access. | |
Change the vector capacity to match the current size. Note: this does not affect auxiliary data. | |
const CaloCell * | operator[] (size_type n) const |
Access an element, as an rvalue. More... | |
ElementProxy | operator[] (size_type n) |
Access an element, as an lvalue. More... | |
const CaloCell * | at (size_type n) const |
Access an element, as an rvalue. More... | |
ElementProxy | at (size_type n) |
Access an element, as an lvalue. More... | |
const CaloCell * | get (size_type n) const |
Access an element, as an rvalue. More... | |
Insertion operations. | |
value_type | push_back (value_type pElem) |
Add an element to the end of the collection. More... | |
value_type | emplace_back (value_type pElem) |
Add an element to the end of the collection. More... | |
iterator | insert (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
iterator | insert (iterator position, std::unique_ptr< base_value_type > pElem) |
Add a new element to the collection. More... | |
void | insert (iterator position, InputIterator first, InputIterator last) |
Add a group of new elements to the collection. More... | |
void | insert (iterator position, std::initializer_list< value_type > l) |
Add a group of new elements to the collection. More... | |
iterator | emplace (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
void | insertMove (iterator position, DataVector &other) |
Insert the contents of another DataVector , with auxiliary data copied via move semantics. More... | |
Erasure operations. | |
iterator | erase (iterator position) |
Remove element at a given position. More... | |
iterator | erase (iterator first, iterator last) |
Remove a range of elements. More... | |
void | pop_back () |
Remove the last element from the collection. More... | |
Size and capacity. | |
size_type | size () const noexcept |
Returns the number of elements in the collection. More... | |
void | resize (size_type sz) |
Resizes the collection to the specified number of elements. More... | |
void | reserve (size_type n) |
Attempt to preallocate enough memory for a specified number of elements. More... | |
Iterator creation. | |
const_iterator | cbegin () const noexcept |
Return a const_iterator pointing at the beginning of the collection. More... | |
const_iterator | cend () const noexcept |
Return a const_iterator pointing past the end of the collection. More... | |
const_reverse_iterator | crbegin () const noexcept |
Return a const_reverse_iterator pointing past the end of the collection. More... | |
const_reverse_iterator | crend () const noexcept |
Return a const_reverse_iterator pointing at the beginning of the collection. More... | |
Insertion operations. | |
value_type | push_back (value_type pElem) |
Add an element to the end of the collection. More... | |
value_type | emplace_back (value_type pElem) |
Add an element to the end of the collection. More... | |
iterator | insert (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
iterator | insert (iterator position, std::unique_ptr< base_value_type > pElem) |
Add a new element to the collection. More... | |
void | insert (iterator position, InputIterator first, InputIterator last) |
Add a group of new elements to the collection. More... | |
void | insert (iterator position, std::initializer_list< value_type > l) |
Add a group of new elements to the collection. More... | |
iterator | emplace (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
void | insertMove (iterator position, DataVector &other) |
Insert the contents of another DataVector , with auxiliary data copied via move semantics. More... | |
Constructors, destructors, assignment. | |
void | assign (std::initializer_list< value_type > l) |
Size and capacity. | |
size_type | size () const noexcept |
Returns the number of elements in the collection. More... | |
void | resize (size_type sz) |
Resizes the collection to the specified number of elements. More... | |
void | reserve (size_type n) |
Attempt to preallocate enough memory for a specified number of elements. More... | |
Element access. | |
Change the vector capacity to match the current size. Note: this does not affect auxiliary data. | |
const CaloCell * | operator[] (size_type n) const |
Access an element, as an rvalue. More... | |
ElementProxy | operator[] (size_type n) |
Access an element, as an lvalue. More... | |
const CaloCell * | get (size_type n) const |
Access an element, as an rvalue. More... | |
const CaloCell * | at (size_type n) const |
Access an element, as an rvalue. More... | |
ElementProxy | at (size_type n) |
Access an element, as an lvalue. More... | |
Iterator creation. | |
const_iterator | cbegin () const noexcept |
Return a const_iterator pointing at the beginning of the collection. More... | |
const_iterator | cend () const noexcept |
Return a const_iterator pointing past the end of the collection. More... | |
const_reverse_iterator | crbegin () const noexcept |
Return a const_reverse_iterator pointing past the end of the collection. More... | |
const_reverse_iterator | crend () const noexcept |
Return a const_reverse_iterator pointing at the beginning of the collection. More... | |
Erasure operations. | |
iterator | erase (iterator position) |
Remove element at a given position. More... | |
iterator | erase (iterator first, iterator last) |
Remove a range of elements. More... | |
void | pop_back () |
Remove the last element from the collection. More... | |
Size and capacity. | |
size_type | size () const noexcept |
Returns the number of elements in the collection. More... | |
void | resize (size_type sz) |
Resizes the collection to the specified number of elements. More... | |
void | reserve (size_type n) |
Attempt to preallocate enough memory for a specified number of elements. More... | |
Static Private Member Functions | |
static void | print () |
dump (obsolete) More... | |
template<class CONT , class VECT > | |
static void | findCellVectorT (CONT &cont, const std::vector< IdentifierHash > &theVectorHash, VECT &theCellVector) |
Look up a group of cells by IdentifierHash. More... | |
Private Attributes | |
CxxUtils::CachedValue< CxxUtils::PackedArray > | m_lookUpTable |
look up table of size HashIdentifiermax. More... | |
bool | m_hasTotalSize |
true if size correspond to maximum hash. More... | |
bool | m_isOrdered |
true if ordered More... | |
bool | m_isOrderedAndComplete |
true if complete and in right order More... | |
std::vector< bool > | m_hasCalo |
true if given cell from given calo has been filled (even if none) More... | |
std::vector< int > | m_indexFirstCellCalo |
index of first cell of given calo (-1 if none) More... | |
std::vector< int > | m_indexLastCellCalo |
index of first cell of given calo (-2 if none) More... | |
std::vector< CaloCellContainer::const_iterator > | m_beginConstCalo |
const iterators for the different calorimeters More... | |
std::vector< CaloCellContainer::const_iterator > | m_endConstCalo |
std::vector< CaloCellContainer::iterator > | m_beginCalo |
non const iterators for the different calorimeters More... | |
std::vector< CaloCellContainer::iterator > | m_endCalo |
Friends | |
class | CaloCellContainerFinalizerTool |
Swap and sort. | |
void | swap (ConstDataVector &rhs) |
Swap this collection with another. More... | |
static void | iter_swap (iterator a, iterator b) |
Swap the referents of two DataVector iterators. More... | |
Non-standard operations. | |
void | clear (SG::OwnershipPolicy ownPolicy) |
Erase all the elements in the collection, and reset the ownership mode. More... | |
void | clear (SG::OwnershipPolicy ownPolicy, SG::IndexTrackingPolicy trackIndices) |
void | swapElement (size_type index, value_type newElem, reference oldElem) |
Swap one element out of the container. More... | |
void | swapElement (iterator pos, value_type newElem, reference oldElem) |
Swap one element out of the container. More... | |
void | swapElement (size_type index, std::unique_ptr< const base_value_type > newElem, std::unique_ptr< const base_value_type > &oldElem) |
Swap one element out of the container. More... | |
void | swapElement (iterator pos, std::unique_ptr< const base_value_type > newElem, std::unique_ptr< const base_value_type > &oldElem) |
Swap one element out of the container. More... | |
const CaloCellContainer * | asDataVector () const |
Return a pointer to this object, as a const DataVector . More... | |
void | resortAux (iterator, iterator) |
Reset indices / reorder aux data after elements have been permuted. More... | |
const SG::AuxVectorBase & | auxbase () const |
Convert to AuxVectorBase . More... | |
static const ConstDataVector * | fromDataVector (const CaloCellContainer *dv) |
Cast from a DataVector to a ConstDataVector . More... | |
Private helpers. | |
void | assignElement (typename BaseContainer::iterator pos, value_type newElem) |
Handle element assignment. More... | |
void | assignElement (typename BaseContainer::iterator pos, std::unique_ptr< const base_value_type > newElem) |
Handle element assignment. More... | |
void | assignBaseElement (typename BaseContainer::iterator pos, typename BaseContainer::value_type newElem) |
Handle element assignment from a base pointer. More... | |
iterator | to_my_iterator (typename DV::iterator it) |
Convert an iterator of the base DataVector to a ConstDataVector::iterator . More... | |
ElementProxy | to_element_proxy (typename BaseContainer::iterator i) |
Convert an iterator of the base vector to an ElementProxy for the ConstDataVector . More... | |
static DV::iterator | to_base_iterator (iterator it) |
Convert a ConstDataVector::iterator to an iterator of the base DataVector . More... | |
Swap and sort. | |
void | swap (DataVector &rhs) |
Swap this collection with another. More... | |
void | sort () |
Sort the container. More... | |
void | sort (COMPARE comp) |
Sort the container with a user-specified comparison operator. More... | |
static void | iter_swap (iterator a, iterator b) |
Swap the referents of two DataVector iterators. More... | |
Non-standard operations. | |
void | clear (std::unique_ptr< Deleter > deleter) |
Erase all the elements in the collection, and change how elements are to be deleted. More... | |
void | swapElement (size_type index, value_type newElem, reference oldElem) |
Swap one element out of the container. More... | |
void | swapElement (iterator pos, value_type newElem, reference oldElem) |
Swap one element out of the container. More... | |
void | swapElement (size_type index, std::unique_ptr< base_value_type > newElem, std::unique_ptr< base_value_type > &oldElem) |
Swap one element out of the container. More... | |
void | swapElement (iterator pos, std::unique_ptr< base_value_type > newElem, std::unique_ptr< base_value_type > &oldElem) |
Swap one element out of the container. More... | |
void | resize (size_type sz) |
void | pop_back () |
virtual const DataModel_detail::DVLInfoBase & | dvlinfo_v () const |
Return the DV/DL info struct for this class. More... | |
size_type | max_size () const noexcept |
Returns the size() of the largest possible collection. More... | |
size_type | capacity () const noexcept |
Returns the total number of elements that the collection can hold before needing to allocate more memory. More... | |
bool | empty () const noexcept |
Returns true if the collection is empty. More... | |
void | shrink_to_fit () |
const PtrVector & | stdcont () const |
Return the underlying std::vector of the container. More... | |
SG::OwnershipPolicy | ownPolicy () const |
Return the ownership policy setting for this container. More... | |
static const DataModel_detail::DVLInfoBase & | dvlinfo () |
Return the DV/DL info struct for this class. More... | |
static int | baseOffset (const std::type_info &ti) |
Return the offset of a base DataVector class. More... | |
Internal operations. | |
void | resortAux (iterator beg, iterator end) |
Reset indices / reorder aux data after elements have been permuted. More... | |
void | testInsert (const char *op) |
Test if we can insert; raise an exception if not. More... | |
void | testInsertOol (const char *op) |
Test if we can insert; raise an exception if not. More... | |
void | shift (size_t pos, ptrdiff_t offs) |
Shift the auxiliary elements of the container. More... | |
virtual const std::type_info & | dv_typeid () const |
Find the most-derived DataVector class in the hierarchy. More... | |
void | clearMostDerived () |
Clear m_isMostDerived for this instance and for all bases. More... | |
virtual void | setMostDerived () |
Set m_isMostDerived for this instance and clear it for all bases. More... | |
static int | baseOffset1 (const char *p, const DataVector &dv, const std::type_info &ti) |
Helper for baseOffset . More... | |
static const CaloCell * | do_cast (const typename PtrVector::value_type p) |
Helper to shorten calls to DataModel_detail::DVLCast . More... | |
static CaloCell * | do_cast_nc (typename PtrVector::value_type p) |
Helper to shorten calls to DataModel_detail::DVLCast . More... | |
typedef ROOT::Meta::Selection::DataVector< CaloCell, DataVector_BASE >::self | self |
SG::IsMostDerivedFlag | m_isMostDerived |
This flag is true if this DV instance is the most-derived one. More... | |
CaloCellContainer
that can accept const cell pointers.
For more details about what's going on here, see AthContainers/ConstDataVector.h.
In brief, CaloCellContainer
acts as a container of (non-const) CaloCell*
, and thus you can't put a const CaloCell*
into it. CaloConstCellContainer
derives privately from CaloCellContainer
. It overrides all accessor methods so that they only return const CaloCell*
, and overrides the insertion methods so that they can take const pointers. There are two ways to convert this to a const CaloCellContainer
. The first is by calling asDataVector
. The second is by recording it in StoreGate and then retrieving it as a CaloCellContainer
. When the object is recorded, it will automatically be locked.
Here, we declare only the methods from CaloCellContainer
that we want to make visible. The DataVector
methods are overridden in ConstDataVector
.
Definition at line 43 of file CaloConstCellContainer.h.
|
inherited |
Definition at line 81 of file ConstDataVector.h.
|
inherited |
Definition at line 89 of file ConstDataVector.h.
|
inherited |
Definition at line 82 of file ConstDataVector.h.
|
inherited |
Definition at line 83 of file ConstDataVector.h.
|
inherited |
type to be used for the internal lookup table, and to return list of cells
Definition at line 83 of file CaloCellContainer.h.
|
inherited |
Definition at line 85 of file ConstDataVector.h.
|
inherited |
Definition at line 98 of file ConstDataVector.h.
|
inherited |
Definition at line 96 of file ConstDataVector.h.
|
inherited |
Definition at line 86 of file ConstDataVector.h.
|
inherited |
Definition at line 94 of file ConstDataVector.h.
|
inherited |
Definition at line 796 of file DataVector.h.
|
inherited |
Definition at line 856 of file DataVector.h.
|
inherited |
Definition at line 80 of file ConstDataVector.h.
|
inherited |
Definition at line 84 of file ConstDataVector.h.
|
inherited |
This type is used to proxy lvalue accesses to DataVector
elements, in order to handle ownership.
Definition at line 110 of file ConstDataVector.h.
|
inherited |
Definition at line 120 of file ConstDataVector.h.
|
inherited |
The iterator for this type.
Definition at line 113 of file ConstDataVector.h.
|
inherited |
Return from non-const findCellVector.
Definition at line 86 of file CaloCellContainer.h.
|
inherited |
Definition at line 97 of file ConstDataVector.h.
|
inherited |
This is the type of the underlying std::vector
(what stdcont
returns).
Definition at line 805 of file DataVector.h.
|
inherited |
Definition at line 95 of file ConstDataVector.h.
|
inherited |
Standard reverse_iterator
.
Note that lvalue references here will yield an ElementProxy
, not a reference
.
Definition at line 118 of file ConstDataVector.h.
|
privateinherited |
Definition at line 2042 of file DataVector.h.
|
inherited |
Basic types, forwarded from the base.
Definition at line 79 of file ConstDataVector.h.
|
inherited |
Type of a unique_ptr that can be used to insert elements into this container.
Definition at line 106 of file ConstDataVector.h.
|
inherited |
These types get modified so that the base's const_value_type
becomes our value_type
.
Definition at line 93 of file ConstDataVector.h.
CaloConstCellContainer::CaloConstCellContainer | ( | SG::OwnershipPolicy | ownPolicy = SG::OWN_ELEMENTS | ) |
Constructor.
|
inherited |
Return a pointer to this object, as a const DataVector
.
|
inherited |
Assign from a vector of ElementLinks.
v | The vector from which to initialize. |
This will change the container to a view container.
|
inherited |
Assign from iterators.
first | The start of the range to put in the container. |
last | The end of the range to put in the container. |
Any existing owned elements will be released. The DataVector's
ownership policy determines whether it will take ownership of the new elements.
|
inherited |
Assign from an initializer list.
l | An initializer list. |
Any existing owned elements will be released. The DataVector's
ownership policy determines whether it will take ownership of the new elements.
|
inherited |
l | An initializer list. |
Any existing owned elements will be released. The DataVector's
ownership policy determines whether it will take ownership of the new elements.
|
privateinherited |
Handle element assignment from a base pointer.
pos | Position in the container to assign. |
newElem | The new element to assign. |
The old element is freed if this container owns elements. Auxiliary data are copied if appropriate.
|
privateinherited |
Handle element assignment.
pos | Position in the container to assign. |
newElem | The new element to assign. |
The container must own its elements. Auxiliary data are copied if appropriate.
|
privateinherited |
Handle element assignment.
pos | Position in the container to assign. |
newElem | The new element to assign. |
The old element is freed if this container owns elements. Auxiliary data are copied if appropriate.
|
inherited |
Access an element, as an lvalue.
n | Array index to access. |
Will raise std::out_of_range
if the index is out-of-bounds. Note that we return a proxy object rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Access an element, as an lvalue.
n | Array index to access. |
Will raise std::out_of_range
if the index is out-of-bounds. Note that we return a proxy object rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Access an element, as an rvalue.
n | Array index to access. |
Will raise std::out_of_range
if the index is out-of-bounds. Note that we return a const
T*
rather than a reference.
|
inherited |
Convert to AuxVectorBase
.
Needed to get @x AuxVectorBase from a ConstDataVector
. Present in DataVector
as well for consistency.
|
inherited |
Access the last element in the collection as an lvalue.
No checking is done to ensure that the container is not empty. Note that we return a proxy object rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
private |
Return a non-const pointer to the base container.
|
staticinherited |
Return the offset of a base DataVector
class.
ti | std::type_info of the desired class. |
If ti
represents a DataVector
base class of this one, then return the offset of that base class. Otherwise, return -1.
This function is here due to limitations of root 6, which can't calculate these offsets correctly from the dictionary if virtual derivation is used.
|
staticinherited |
Helper for baseOffset
.
p | Pointer to the start of the top-level object. |
dv | Reference to the DataVector object. |
ti | std::type_info of the desired class. |
If ti
represents a DataVector
base class of this one, then return the offset of that base class. Otherwise, return -1.
|
noexceptinherited |
Return an iterator
pointing at the beginning of the collection.
iterator
.Note that dereferencing the iterator will yield a proxy rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
get non const iterators on cell of just one calo
Definition at line 123 of file CaloCellContainer.cxx.
::CaloCellContainer::const_iterator CaloConstCellContainer::beginConstCalo | ( | CaloCell_ID::SUBCALO | caloNum | ) | const |
get const begin iterator on cell of just one calo
|
noexceptinherited |
Returns the total number of elements that the collection can hold before needing to allocate more memory.
|
noexceptinherited |
Return a const_iterator
pointing at the beginning of the collection.
const_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
|
noexceptinherited |
Return a const_iterator
pointing past the end of the collection.
const_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
bool CaloConstCellContainer::checkOrdered | ( | ) | const |
verify one by one the container is ordered
bool CaloConstCellContainer::checkOrderedAndComplete | ( | ) | const |
verify one by one the container is complete (i.e.
size is equal to the maximum of hash identifier) and in order
|
inherited |
Erase all the elements in the collection.
Erase all the elements in the collection, and reset the ownership mode.
If the container owns its elements, then the removed elements will be deleted. Any duplicates will be removed in this process, but don't rely on this.
ownPolicy | The new ownership policy of the container. |
trackIndices | The index tracking policy. |
If the container owns its elements, then the removed elements will be deleted. Any duplicates will be removed in this process, but don't rely on this.
|
inherited |
Erase all the elements in the collection, and reset the ownership mode.
ownPolicy | The new ownership policy of the container. |
If the container owns its elements, then the removed elements will be deleted. Any duplicates will be removed in this process, but don't rely on this.
|
inherited |
|
inherited |
Erase all the elements in the collection, and change how elements are to be deleted.
deleter | Object to be used to delete object. Passing nullptr will change back to the default. |
If the container owns its elements, then the removed elements will be deleted. Any duplicates will be removed in this process, but don't rely on this. After the current elements are deleted, the Deleter object is changed.
|
protectedinherited |
Clear m_isMostDerived
for this instance and for all bases.
Called from the constructor after setting m_isMostDerived
.
|
noexceptinherited |
Return a const_reverse_iterator
pointing past the end of the collection.
const_reverse_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
|
noexceptinherited |
Return a const_reverse_iterator
pointing at the beginning of the collection.
const_reverse_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
|
staticinherited |
Helper to shorten calls to DataModel_detail::DVLCast
.
p | The value to convert. |
const
T*
.The conversion will be done with static_cast
if possible, with dynamic_cast
otherwise.
|
staticinherited |
Helper to shorten calls to DataModel_detail::DVLCast
.
p | The value to convert. |
T*
.The conversion will be done with static_cast
if possible, with dynamic_cast
otherwise.
|
privatevirtualinherited |
Find the most-derived DataVector
class in the hierarchy.
type_info
for the class for which this method gets run.This is used to generate a nice error message when the most-derived check for insertions fails. Every DataVector
defines this virtual method, so when it's called, the one corresponding to the most-derived DataVector
gets run.
|
staticinherited |
Return the DV/DL info struct for this class.
This can be used to make sure that it's instantiated.
|
virtualinherited |
Return the DV/DL info struct for this class.
This can be used to make sure that it's instantiated.
|
inherited |
Add a new element to the collection.
position | Iterator before which the element will be added. |
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
For DataVector
, this is just the same as insert
. It's included just for interface compatibility with std::vector
.
|
inherited |
Add a new element to the collection.
position | Iterator before which the element will be added. |
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
For DataVector
, this is just the same as insert
. It's included just for interface compatibility with std::vector
.
|
inherited |
Add an element to the end of the collection.
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
For DataVector
, this is like the same as push_back
, and it returns the pushed element. It's included just for interface compatibility with std::vector
.
|
inherited |
Add an element to the end of the collection.
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
For DataVector
, this is like the same as push_back
, and it returns the pushed element. It's included just for interface compatibility with std::vector
.
|
noexceptinherited |
Returns true
if the collection is empty.
|
noexceptinherited |
Return an iterator
pointing past the end of the collection.
iterator
.Note that dereferencing the iterator will yield a proxy rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Definition at line 128 of file CaloCellContainer.cxx.
::CaloCellContainer::const_iterator CaloConstCellContainer::endConstCalo | ( | CaloCell_ID::SUBCALO | caloNum | ) | const |
get const begin iterator on cell of just one calo
|
inherited |
Remove a range of elements.
first | Iterator pointing to the first element to be removed. |
last | Iterator pointing one past the last element to be removed. |
end()
).If the container owns its elements, then the removed elements will be deleted. Any duplicates will be removed in this process, but don't rely on this.
|
inherited |
Remove a range of elements.
first | Iterator pointing to the first element to be removed. |
last | Iterator pointing one past the last element to be removed. |
end()
).If the container owns its elements, then the removed elements will be deleted. Any duplicates will be removed in this process, but don't rely on this.
|
inherited |
Remove element at a given position.
position | Iterator pointing to the element to be removed. |
end()
).If the container owns its elements, then the pointed-to element will be deleted.
|
inherited |
Remove element at a given position.
position | Iterator pointing to the element to be removed. |
end()
).If the container owns its elements, then the pointed-to element will be deleted.
|
inherited |
fast find method given identifier hash.
If the container is not ordered and complete a look up map is used, which is build the first time this method of findCellVector is used
Definition at line 354 of file CaloCellContainer.cxx.
const CaloCell* CaloConstCellContainer::findCell | ( | IdentifierHash | theHash | ) | const |
fast find method given identifier hash.
If the container is not ordered and complete a look up map is used, which is build the first time this method of findCellVector is used
void CaloConstCellContainer::findCellVector | ( | const std::vector< IdentifierHash > & | theVectorHash, |
::CaloCellContainer::CellVector & | theCellVector | ||
) | const |
fast find method given vector of identifier hash.
Be careful that the order of cell return may not match the order of the inputs, and that some cells may be missing
|
inherited |
fast find method given vector of identifier hash.
Be careful that the order of cell return may not match the order of the inputs, and that some cells may be missing
Definition at line 422 of file CaloCellContainer.cxx.
|
inherited |
fast find method given vector of identifier hash.
Be careful that the order of cell return may not match the order of the inputs, and that some cells may be missing
Definition at line 457 of file CaloCellContainer.cxx.
|
staticprivateinherited |
Look up a group of cells by IdentifierHash.
This is a templated version that can be instantiated for both const and non-const versions.
cont | The container from which to fetch cells. |
theVectorHash | Vector of desired IdentifierHash's. |
theCellVector | Found cells will be appended to this vector. |
Definition at line 389 of file CaloCellContainer.cxx.
int CaloConstCellContainer::findIndex | ( | IdentifierHash | theHash | ) | const |
Return index of the cell with a given hash.
Returns -1 if the cell isn't found.
|
staticinherited |
Cast from a DataVector
to a ConstDataVector
.
dv | Pointer to object to cast. |
Return DV
cast to a ConstDataVector
.
|
inherited |
Access the first element in the collection as an lvalue.
No checking is done to ensure that the container is not empty. Note that we return a proxy object rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Access an element, as an rvalue.
n | Array index to access. |
This is a synonym for operator[] const, to be used when calling from root (where we can't readily call just the const version of a method).
|
privateinherited |
bool CaloConstCellContainer::hasCalo | ( | const CaloCell_ID::SUBCALO | caloNum | ) | const |
tell whether it has been filled with cells (maybe none) of a given calo
bool CaloConstCellContainer::hasTotalSize | ( | ) | const |
tell wether container has total hash id size
int CaloConstCellContainer::indexFirstCellCalo | ( | const CaloCell_ID::SUBCALO | caloNum | ) | const |
index of first cell of given calorimeter (-1 if none).
Note that it is normally more efficient to use iterators
int CaloConstCellContainer::indexLastCellCalo | ( | const CaloCell_ID::SUBCALO | caloNum | ) | const |
index of last cell of given calorimeter (-2 if none) Note that it is normally more efficient to use iterators.
|
inherited |
initialize look up table.
Note that the look up table is initialized the first time findcell is called. If new cells are added afterwards (should not be the case) the lookuptable need be reinitialized by hand
Definition at line 467 of file CaloCellContainer.cxx.
|
inherited |
Add a group of new elements to the collection.
position | Iterator before which the element will be added. |
first | The start of the range to put in the container. |
last | The end of the range to put in the container. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Add a group of new elements to the collection.
position | Iterator before which the element will be added. |
first | The start of the range to put in the container. |
last | The end of the range to put in the container. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
This overload is for the case where the iterator value type is convertible to T*.
|
inherited |
Add a group of new elements to the collection.
position | Iterator before which the element will be added. |
l | An initializer list. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Add a group of new elements to the collection.
position | Iterator before which the element will be added. |
l | An initializer list. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Add a new element to the collection.
position | Iterator before which the element will be added. |
pElem | The element to add to the collection. |
The container must be an owning container.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Add a new element to the collection.
position | Iterator before which the element will be added. |
pElem | The element to add to the collection. |
The container must be an owning container.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Add a new element to the collection.
position | Iterator before which the element will be added. |
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Add a new element to the collection.
position | Iterator before which the element will be added. |
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Insert the contents of another DataVector
, with auxiliary data copied via move semantics.
position | Iterator before which the new elements will be added. |
other | The vector to add. |
The ownership mode of this vector must be the same as other
; otherwise, an exception will be thrown.
If both vectors are view vectors, then this is the same as insert (position, other.begin(), other.end())
.
Otherwise, the elements from other
will be inserted into this vector. This vector will take ownership of the elements, and the ownership mode of other
will be changed to VIEW_ELEMENTS
. Auxiliary data for these elements will be transferred, using move semantics if possible. (Thus, the auxiliary store for other
may be modified and must not be locked.) Finally, the auxiliary store pointer for other
will be cleared (but the store itself will not be deleted since it's not owned by the vector).
Note: this method may only be called using the most derived DataVector
in the hierarchy.
bool CaloConstCellContainer::isOrdered | ( | ) | const |
tell wether container is ordered
bool CaloConstCellContainer::isOrderedAndComplete | ( | ) | const |
tell wether container is complete and in order
|
staticinherited |
Swap the referents of two DataVector
iterators.
a | The first iterator for the swap. |
b | The second iterator for the swap. |
|
staticinherited |
Swap the referents of two DataVector
iterators.
a | The first iterator for the swap. |
b | The second iterator for the swap. |
|
noexceptinherited |
Returns the size()
of the largest possible collection.
|
privateinherited |
get message service
int CaloConstCellContainer::nCellsCalo | ( | const CaloCell_ID::SUBCALO | caloNum | ) | const |
get number of cels of given calorimeter
|
inherited |
Based on operator==.
|
inherited |
Vector ordering relation.
b | A ConstDataVector of the same type as *this. |
This is a total ordering relation. It is linear in the size of the vectors. Comparisons are done on the pointer values of the elements.
See std::lexicographical_compare()
for how the determination is made.
|
inherited |
Based on operator<.
|
inherited |
Vector equality comparison.
b | A ConstDataVector of the same type as *this. |
This is an equivalence relation. It is linear in the size of the vectors. Vectors are considered equivalent if their sizes are equal, and if corresponding elements compare equal.
|
inherited |
Based on operator<.
|
inherited |
Based on operator<.
|
inherited |
Access an element, as an lvalue.
n | Array index to access. |
No bounds checking is done. Note that we return a proxy object rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Access an element, as an lvalue.
n | Array index to access. |
No bounds checking is done. Note that we return a proxy object rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Access an element, as an rvalue.
n | Array index to access. |
No bounds checking is done. Note that we return a const
T*
rather than a reference.
void CaloConstCellContainer::order | ( | ) |
order container
|
privateinherited |
|
privateinherited |
|
inherited |
Return the ownership policy setting for this container.
|
inherited |
Remove the last element from the collection.
If the container owns its elements, then the removed element will be deleted.
|
inherited |
|
staticinherited |
|
inherited |
reimplementation of const push_back
Definition at line 74 of file CaloCellContainer.cxx.
|
inherited |
reimplementation of const push_back(unique_ptr>)
Definition at line 90 of file CaloCellContainer.cxx.
|
inherited |
Add an element to the end of the collection.
pElem | The element to add to the collection. |
The container must be an owning container.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
Returns the pushed pointer.
|
inherited |
Add an element to the end of the collection.
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
Returns the pushed pointer.
|
inherited |
Add an element to the end of the collection.
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
Returns the pushed pointer.
|
inherited |
reimplementation of push_back to gain speed in readin
Definition at line 102 of file CaloCellContainer.cxx.
reimplementation of push_back to gain speed in readin
reimplementation of push_back to gain speed in readin (UP version)
|
noexceptinherited |
Return a reverse_iterator
pointing past the end of the collection.
reverse_iterator
.Note that dereferencing the iterator will yield a proxy rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
noexceptinherited |
Return a reverse_iterator
pointing at the beginning of the collection.
reverse_iterator
.Note that dereferencing the iterator will yield a proxy rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Attempt to preallocate enough memory for a specified number of elements.
n | Number of elements required. |
void CaloConstCellContainer::resetLookUpTable | ( | ) |
reset look up table
|
inherited |
Resizes the collection to the specified number of elements.
sz | The new size of the collection. |
Note that this function differs from the standard in that it does not allow specifying the value of any inserted elements. They will always be 0.
If the container is shrunk, elements will be deleted as with erase()
.
|
inherited |
|
inherited |
Reset indices / reorder aux data after elements have been permuted.
beg | Start of the range of elements to process. |
end | End of the range of elements to process. |
Call this after some operation that has permuted the elements in the container (such as sort). The index information in the elements will be used to permute all auxiliary data in the same way. Finally, all the indices will be reset in the correct order.
|
inherited |
Reset indices / reorder aux data after elements have been permuted.
beg | Start of the range of elements to process. |
end | End of the range of elements to process. |
This is a no-op for ConstDataVector
.
void CaloConstCellContainer::setHasCalo | ( | CaloCell_ID::SUBCALO | caloNum | ) |
set which calo has been filled.
|
private |
If @ flag is true, then the container size equals the maximum hash.
Only CaloCellContainerFinalizer tool is allowed to set this.
void CaloConstCellContainer::setIsOrdered | ( | bool | ordered | ) |
indicates that the container is ordered
void CaloConstCellContainer::setIsOrderedAndComplete | ( | bool | ordered | ) |
indicate that the container is complete and in order
|
protectedvirtualinherited |
Set m_isMostDerived
for this instance and clear it for all bases.
Called from testInsert
if the test fails. The flag may not have been set if this container was made via copy construction, so set it appropriately now so we can test again.
|
privateinherited |
Shift the auxiliary elements of the container.
pos | The starting index for the shift. |
offs | The (signed) amount of the shift. |
The elements in the container should have already been shifted; this operation will then adjust the element indices and also shift the elements in the vectors for all aux data items. offs
may be either positive or negative.
If offs
is positive, then the container is growing. The container size should be increased by offs
, the element at pos
moved to pos
+ offs
, and similarly for following elements. The elements between pos
and pos
+ offs
should be default-initialized.
If offs
is negative, then the container is shrinking. The element at pos
should be moved to pos
+ offs
, and similarly for following elements. The container should then be shrunk by -offs
elements (running destructors as appropriate).
|
inherited |
|
noexceptinherited |
Returns the number of elements in the collection.
Could in principle be inherited from the base class, but redeclared in the derived class to avoid root6 bugs.
|
inherited |
Sort the container.
This just sorts by pointer value, so it's probably not very useful.
|
inherited |
Sort the container with a user-specified comparison operator.
comp | Functional to compare two values. |
|
inherited |
Return the underlying std::vector
of the container.
std::vector
actually holding the collection.Note that DataVector<T>::stdcont
does not necessarily return a std::vector<T*>
if DataVector
inheritance is being used.
|
inherited |
Swap this collection with another.
rhs | The collection with which to swap. |
Ownership is swapped along with the collection content.
Note: this method may only be called using the most-derived DataVector
in the hierarchy. The rhs must also be referenced using the most-derived DataVector
.
|
inherited |
Swap this collection with another.
rhs | The collection with which to swap. |
Ownership is swapped along with the collection content.
Note: this method may only be called using the most-derived DataVector
in the hierarchy. The rhs must also be referenced using the most-derived DataVector
.
|
inherited |
Swap one element out of the container.
pos | The element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element pos of the collection (no bounds checking). Then element index is set to newElem
.
The collection must own its elements to use its interface. The collection will take ownership of newElem
and will return ownership of oldElem
.
Note: this method may only be called using the most derived DataList
in the hierarchy.
|
inherited |
Swap one element out of the container.
pos | The element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element pos of the collection (no bounds checking). Then element index is set to newElem
.
The collection must own its elements to use its interface. The collection will take ownership of newElem
and will return ownership of oldElem
.
Note: this method may only be called using the most derived DataList
in the hierarchy.
|
inherited |
Swap one element out of the container.
pos | The element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element pos of the collection (no bounds checking). Then element index is set to newElem
. If the collection owns its elements, then it will take ownership of newElem and release (without deleting) the element returned through oldElem.
Note: this method may only be called using the most derived DataList
in the hierarchy.
|
inherited |
Swap one element out of the container.
pos | The element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element pos of the collection (no bounds checking). Then element index is set to newElem
. If the collection owns its elements, then it will take ownership of newElem and release (without deleting) the element returned through oldElem.
Note: this method may only be called using the most derived DataList
in the hierarchy.
|
inherited |
Swap one element out of the container.
index | Index of the element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element index of the collection (no bounds checking). Then element index is set to newElem
.
The collection must own its elements to use its interface. The collection will take ownership of newElem
and will return ownership of oldElem
.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Swap one element out of the container.
index | Index of the element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element index of the collection (no bounds checking). Then element index is set to newElem
.
The collection must own its elements to use its interface. The collection will take ownership of newElem
and will return ownership of oldElem
.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Swap one element out of the container.
index | Index of the element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element index of the collection (no bounds checking). Then element index is set to newElem
. If the collection owns its elements, then it will take ownership of newElem and release (without deleting) the element returned through oldElem.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Swap one element out of the container.
index | Index of the element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element index of the collection (no bounds checking). Then element index is set to newElem
. If the collection owns its elements, then it will take ownership of newElem and release (without deleting) the element returned through oldElem.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Test if we can insert; raise an exception if not.
op | Description of the attempted operation. |
In order to maintain type-safety, we can only allow insertions using the most-derived instance of DataVector
. This checks this by testing the m_isMostDerived
, which is set by the constructors to true only for the most-derived instance. If the test fails, we call to potentially out-of-line code to continue.
|
inherited |
Test if we can insert; raise an exception if not.
op | Description of the attempted operation. |
This continues the test of testInsert
. There is one case where m_isMostDerived
may not be set correctly. If this container was made via copy construction, then all the m_isMostDerived
flags will be false. So we call setMostDerived
to set the flags correctly and test again. If the test fails again, then we raise an exception.
|
staticprivateinherited |
Convert a ConstDataVector::iterator
to an iterator of the base DataVector
.
it | The ConstDataVector::iterator to convert. |
|
privateinherited |
Convert an iterator of the base vector
to an ElementProxy
for the ConstDataVector
.
it | The base vector iterator to convert. |
|
privateinherited |
Convert an iterator of the base DataVector
to a ConstDataVector::iterator
.
it | The base DataVector iterator to convert. |
void CaloConstCellContainer::updateCaloBeginIterators | ( | int | ic, |
int | ind | ||
) |
fills calo iterators and the index of first cell for a given subcalo
void CaloConstCellContainer::updateCaloEndIterators | ( | int | ic, |
int | ind | ||
) |
fills calo iterators and the index of last cell for a given subcalo
void CaloConstCellContainer::updateCaloIterators | ( | ) |
fill calo iterators and the index of first and last cell IT IS THE RESPONSABILITY OF THE PRODUCER TO CALL THIS METHOD ONCE THE FILLING IS FINISHED Please use CaloCellContainerFinalizerTool to make sure the container is properly finalised.
|
privateinherited |
Recursively find division points between subcalos in the container.
Should run in ~ m log n time, where n is the number of cells and m is the number of subcalos.
The cells need to be sorted for this to work.
Definition at line 245 of file CaloCellContainer.cxx.
|
friend |
Definition at line 164 of file CaloConstCellContainer.h.
|
staticinherited |
This needs to be forwarded from the base as well.
Definition at line 102 of file ConstDataVector.h.
|
privateinherited |
non const iterators for the different calorimeters
Definition at line 297 of file CaloCellContainer.h.
|
privateinherited |
const iterators for the different calorimeters
Definition at line 295 of file CaloCellContainer.h.
|
privateinherited |
Definition at line 297 of file CaloCellContainer.h.
|
privateinherited |
Definition at line 295 of file CaloCellContainer.h.
|
privateinherited |
true if given cell from given calo has been filled (even if none)
Definition at line 286 of file CaloCellContainer.h.
|
privateinherited |
true if size correspond to maximum hash.
only CaloCellContainerFinalizer tool is allowed to set this
Definition at line 276 of file CaloCellContainer.h.
|
privateinherited |
index of first cell of given calo (-1 if none)
Definition at line 289 of file CaloCellContainer.h.
|
privateinherited |
index of first cell of given calo (-2 if none)
Definition at line 292 of file CaloCellContainer.h.
|
privateinherited |
This flag is true if this DV instance is the most-derived one.
We set this to true in the top-level constructor; the constructor then calls clearMostDerived
on the base classes.
Definition at line 2038 of file DataVector.h.
|
privateinherited |
true if ordered
Definition at line 280 of file CaloCellContainer.h.
|
privateinherited |
true if complete and in right order
Definition at line 283 of file CaloCellContainer.h.
|
privateinherited |
look up table of size HashIdentifiermax.
Definition at line 272 of file CaloCellContainer.h.
|
staticconstexprinherited |
If true, then this type must own its contents.
Definition at line 124 of file ConstDataVector.h.