![]() |
ATLAS Offline Software
|
Tower in the multi-grid. More...
#include <PufitMultiGrid.h>
Public Member Functions | |
| Tower (PufitMultiGrid *parent, std::size_t index) | |
| Create a tower with its parent grid. More... | |
| Tower (const Tower &)=default | |
| Tower & | operator= (const Tower &other) |
| Copy assignment operator. More... | |
| double | ex (std::size_t type=All) const |
| The x-component of this tower's energy. More... | |
| double | ey (std::size_t type=All) const |
| The y-component of this tower's energy. More... | |
| double | ez (std::size_t type=All) const |
| The z-component of this tower's energy. More... | |
| double | sumEt (std::size_t type=All) const |
| The total sumEt in this tower. More... | |
| double | sumE (std::size_t type=All) const |
| The total sumE in this tower. More... | |
| double | phi (std::size_t type=All) const |
| This tower's kinematic phi. More... | |
| double | eta (std::size_t type=All) const |
| This tower's kinematic eta. More... | |
| bool | masked () const |
| Whether or not this tower was masked. More... | |
| void | mask (bool value=true) |
| Set the mask on this tower. More... | |
| const PufitMultiGrid * | grid () const override |
| The parent grid of this tower. More... | |
| SignedKinematics | kinematics (std::size_t type=All) const |
| Build a kinematics object from this tower. More... | |
| operator SignedKinematics () const | |
| Conversion operator, returns the value for the sum of all the grids. More... | |
| Tower & | operator+= (const Tower &other) |
| Add another tower's energies into this one. More... | |
| Tower & | operator-= (const Tower &other) |
| Subtract another tower's energies from this one. More... | |
| void | applyToAll (PufitGrid::Tower &(PufitGrid::Tower::*f)(const PufitGrid::Tower &), const PufitMultiGrid::Tower &other) |
| Apply a function to all sub towers. More... | |
| template<typename T > | |
| std::decay< T >::type | sumOver (int type, T(PufitGrid::Tower::*f)() const) const |
| Sum over the results of all sub towers whose indices match the 'type' mask. More... | |
| double | towerPhi () const |
| The central phi coordinate of this tower. More... | |
| double | towerEta () const |
| The central eta coordinate of this tower. More... | |
| std::size_t | index () const |
| The global index of this tower. More... | |
| std::size_t | etaIndex () const |
| The eta index of this tower. More... | |
| std::size_t | phiIndex () const |
| The phi index of this tower. More... | |
| std::pair< std::size_t, std::size_t > | etaPhiIndex () const |
| The eta/phi indices of the tower together. More... | |
Public Attributes | |
| template<std::size_t I, typename = typename std::enable_if<isPow2(I)>::type> | |
| m_grids [ii][index()] | |
| Get one of the underlying towers. More... | |
Private Attributes | |
| std::size_t | m_index |
Friends | |
| class | PufitMulitGrid |
Tower in the multi-grid.
Each tower is built from N 'normal' PufitGrid::Towers. Kinematic quantities can be read from the tower either from any of the 'subtowers' or from a sum over them, passing in a std::size_t as a bitmask.
Definition at line 82 of file PufitMultiGrid.h.
| HLT::MET::PufitMultiGrid< N >::Tower::Tower | ( | PufitMultiGrid * | parent, |
| std::size_t | index | ||
| ) |
Create a tower with its parent grid.
| parent | The parent grid of this tower |
| index | The index of this tower in its parent's grid |
|
default |
|
inline |
Apply a function to all sub towers.
Definition at line 196 of file PufitMultiGrid.h.
| double HLT::MET::PufitMultiGrid< N >::Tower::eta | ( | std::size_t | type = All | ) | const |
This tower's kinematic eta.
|
inherited |
The eta index of this tower.
Definition at line 49 of file PeriodicGridBase.cxx.
|
inherited |
The eta/phi indices of the tower together.
Definition at line 59 of file PeriodicGridBase.cxx.
| double HLT::MET::PufitMultiGrid< N >::Tower::ex | ( | std::size_t | type = All | ) | const |
The x-component of this tower's energy.
| double HLT::MET::PufitMultiGrid< N >::Tower::ey | ( | std::size_t | type = All | ) | const |
The y-component of this tower's energy.
| double HLT::MET::PufitMultiGrid< N >::Tower::ez | ( | std::size_t | type = All | ) | const |
The z-component of this tower's energy.
|
overridevirtual |
The parent grid of this tower.
Implements HLT::MET::PeriodicGridBase::Tower.
|
inherited |
The global index of this tower.
Definition at line 44 of file PeriodicGridBase.cxx.
| SignedKinematics HLT::MET::PufitMultiGrid< N >::Tower::kinematics | ( | std::size_t | type = All | ) | const |
Build a kinematics object from this tower.
| void HLT::MET::PufitMultiGrid< N >::Tower::mask | ( | bool | value = true | ) |
Set the mask on this tower.
| bool HLT::MET::PufitMultiGrid< N >::Tower::masked | ( | ) | const |
Whether or not this tower was masked.
| HLT::MET::PufitMultiGrid< N >::Tower::operator SignedKinematics | ( | ) | const |
Conversion operator, returns the value for the sum of all the grids.
| Tower& HLT::MET::PufitMultiGrid< N >::Tower::operator+= | ( | const Tower & | other | ) |
Add another tower's energies into this one.
| Tower& HLT::MET::PufitMultiGrid< N >::Tower::operator-= | ( | const Tower & | other | ) |
Subtract another tower's energies from this one.
| Tower& HLT::MET::PufitMultiGrid< N >::Tower::operator= | ( | const Tower & | other | ) |
Copy assignment operator.
This will not copy the other tower's parent. Each tower's parent is fixed from construction! This only copies the energy and masking information over.
| double HLT::MET::PufitMultiGrid< N >::Tower::phi | ( | std::size_t | type = All | ) | const |
This tower's kinematic phi.
|
inherited |
The phi index of this tower.
Definition at line 54 of file PeriodicGridBase.cxx.
| double HLT::MET::PufitMultiGrid< N >::Tower::sumE | ( | std::size_t | type = All | ) | const |
The total sumE in this tower.
| double HLT::MET::PufitMultiGrid< N >::Tower::sumEt | ( | std::size_t | type = All | ) | const |
The total sumEt in this tower.
|
inline |
Sum over the results of all sub towers whose indices match the 'type' mask.
Definition at line 205 of file PufitMultiGrid.h.
|
inherited |
The central eta coordinate of this tower.
Definition at line 39 of file PeriodicGridBase.cxx.
|
inherited |
The central phi coordinate of this tower.
Definition at line 34 of file PeriodicGridBase.cxx.
|
friend |
Definition at line 84 of file PufitMultiGrid.h.
| HLT::MET::PufitMultiGrid< N >::Tower::m_grids[ii][index()] |
Get one of the underlying towers.
This is only defined where I is a power of 2
Definition at line 192 of file PufitMultiGrid.h.
|
privateinherited |
Definition at line 109 of file PeriodicGridBase.h.
1.8.18