ATLAS Offline Software
Loading...
Searching...
No Matches
MissingETContainer_v1.icc
Go to the documentation of this file.
1// -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7
8///////////////////////////////////////////////////////////////
9// The rest of the file contains doxygen documentation only! //
10///////////////////////////////////////////////////////////////
11
12/*! @class xAOD::MissingETContainer_v1
13 *
14 * Each xAOD::MissingET_v1 object in the xAOD::MissingETContainer_v1 represents a contribution to MET from a given physics object or signal type. The
15 * sequence of the objects in the collection is the sequence with which the MET terms have been calculated, i.e. the object at index 0 in the collection
16 * has the highest priority with respect to its MET contribution.
17 *
18 * This sequence can only be relied on if the components are constructed by the recommended MET tool sequence, and the xAOD::MissingET_v1 objects
19 * are recorded in this sequence. For fail safe and random access, each xAOD::MissingET_v1 object has a unique name (key) to indicate the
20 * contribution it represents. The corresponding additional functionality for this random accesss is added on top of the base class features.
21 * This includes access operators using the name of a given xAOD::MissingET object by its name and, in addition, by its source type
22 * (see MissingETBase::Source).
23 *
24 * It is expected that at least one of the MET object identifiers (name or source indicator) is unique within the objects stored in this container (it should
25 * be the name!). There is no enforcement of this policy, though. The functions randomly accessing MET objects will return the pointer to the object with the
26 * first name or source indicator match.
27 */
28
29//////////////////
30// Constructors //
31//////////////////
32
33/*! @fn xAOD::MissingETContainer_v1::MissingETContainer_v1(SG::OwnershipPolicy ownPolicy,SG::IndexTrackingPolicy trackIndices)
34 *
35 * Constructs a DataVector< xAOD::MissingET_v1 > container.
36 *
37 * @param[in] ownPolicy ownership policy (optional, defaults to SG::OWN_ELEMENTS - the objects pointed to by the entries in this container are owned by the container).
38 * @param[in] trackIndices track indices policy (optional, defaults to SG::DEFAULT_TRACK_INDICES - track indices default).
39 */
40
41/*! @fn const xAOD::MissingET_v1* xAOD::MissingETContainer_v1::operator[](const std::string& name) const
42 *
43 * @return Valid pointer to a non-modifiable xAOD::MissingET_v1 object with requested name if found, else a @c NULL pointer.
44 *
45 * @param[in] name reference to non-modifiable string holding the requested MET object name (key)
46 *
47 * @note The pointer to the first object with a matching name is returned.
48 */
49
50/*! @fn xAOD::MissingET_v1* xAOD::MissingETContainer_v1::operator[](const std::string& name);
51 *
52 * @return Valid pointer to a modifiable xAOD::MissingET_v1 object with requested name if found, else a @c NULL pointer.
53 *
54 * @param[in] name reference to non-modifiable string holding the requested MET object name (key)
55 *
56 * @note The pointer to the first object with a matching name is returned.
57 */
58
59/////////////////////
60// Object Searches //
61/////////////////////
62
63/*! @fn xAOD::MissingETContainer_v1::const_iterator xAOD::MissingETContainer_v1::find(const std::string& name) const
64 *
65 * This operation is a linear search, which requires up to @c N iterations, if @c N is the number of xAOD::MissingET_v1 objects in the container.
66 *
67 * @return Const iterator with a valid reference to a non-modifiable xAOD::MissingET_v1 object, if found, else DataVector<xAOD::MissingET_v1>::end() const.
68 *
69 * @param[in] name name identifying a MET object in the container.
70 *
71 * @note The iterator referencing the first object with a matching name is returned, if any.
72 */
73
74/*! @fn xAOD::MissingETContainer_v1::iterator xAOD::MissingETContainer_v1::find(const std::string& name)
75 *
76 * This operation is a linear search, which requires up to @c N iterations, if @c N is the number of xAOD::MissingET_v1 objects in the container.
77 *
78 * @return Iterator with a valid reference to a modifiable xAOD::MissingET_v1 object, if found, else DataVector<xAOD::MissingET_v1>::end().
79 *
80 * @param[in] name name identifying a MET object in the container.
81 *
82 * @note The iterator referencing the first object with a matching name is returned, if any.
83 */
84
85/*! @fn xAOD::MissingETContainer_v1::const_iterator xAOD::MissingETContainer_v1::find(MissingETBase::Types::bitmask_t src) const
86 *
87 * This operation is a linear search, which requires up to @c N iterations, if @c N is the number of xAOD::MissingET_v1 objects in the container.
88 *
89 * @return Const iterator with a valid reference to a non-modifiable xAOD::MissingET_v1 object, if found, else DataVector<xAOD::MissingET_v1>::end() const.
90 *
91 * @param[in] src source indicator identifying a MET object in the container.
92 *
93 * @note The iterator referencing the first object with a matching key is returned, if any.
94 */
95
96/*! @fn xAOD::MissingETContainer_v1::iterator xAOD::MissingETContainer_v1::find(MissingETBase::Types::bitmask_t src)
97 *
98 * This operation is a linear search, which requires up to @c N iterations, if @c N is the number of xAOD::MissingET_v1 objects in the container.
99 *
100 * @return Iterator with a valid reference to a modifiable xAOD::MissingET_v1 object, if found, else DataVector<xAOD::MissingET_v1>::end().
101 *
102 * @param[in] src source indicator identifying a MET object in the container.
103 *
104 * @note The iterator referencing the first object with a matching key is returned, if any.
105 */
106