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.