TTTT Analysis
0.1
|
Takes a set of four Value<std::vector<T> > objects and a function of four Ts and returns a std::vector<R>. More...
#include <value.hpp>
Public Member Functions | |
ZipMapFour (Function< R(T, T, T, T)> &f, Value< std::vector< T > > *v1, Value< std::vector< T > > *v2, Value< std::vector< T > > *v3, Value< std::vector< T > > *v4, const std::string alias) | |
ZipMapFour (Function< R(T, T, T, T)> &f, const std::string &label1, const std::string &label2, const std::string &label3, const std::string &label4, const std::string alias) | |
Public Member Functions inherited from fv::DerivedValue< std::vector< R > > | |
DerivedValue (const std::string &name, const std::string &alias="") | |
std::vector< R > & | get_value () |
Calculate, if necessary, and return the value held by this object. | |
Public Member Functions inherited from fv::Value< std::vector< R > > | |
Value (const std::string &name, const std::string &alias="") | |
Private Member Functions | |
void | update_value () |
Updates the internal value. More... | |
Private Attributes | |
Function< R(T, T, T, T)> & | f |
Value< std::vector< T > > * | v1 |
Value< std::vector< T > > * | v2 |
Value< std::vector< T > > * | v3 |
Value< std::vector< T > > * | v4 |
Additional Inherited Members | |
Protected Attributes inherited from fv::DerivedValue< std::vector< R > > | |
std::vector< R > | value |
bool | value_valid |
Takes a set of four Value<std::vector<T> > objects and a function of four Ts and returns a std::vector<R>.
This is used in, for instance, calculating the energy of a set of particles when one has separate arrays containing pt, eta, phi, and mass. These arrays are first wrapped up in VectorWrappers and then passes along with a function to calculate the energy into a ZipMapFour. The result of this calculation is a new vector containing the energy for each particle. Note that if the input vectors are not all the same size, calculations are only performed up to the size of the shortest.
|
inlineprivatevirtual |
Updates the internal value.
This function should be overridden by any child class to do the actual work of updating value based on whatever rules the class chooses. Normally, this consists of geting the values from some associated Value objects, doing some calculation on them, and storing the result in value.
Implements fv::DerivedValue< std::vector< R > >.