Proxy tag for a recob::SpacePoint
collection with charge.
More...
#include <ChargedSpacePoints.h>
Public Types | |
using | SpacePointDataProduct_t = std::vector< recob::SpacePoint > |
Type of the main collection. More... | |
using | ChargeTag = recob::PointCharge |
Tag used for the "standard" charge information. More... | |
Proxy tag for a recob::SpacePoint
collection with charge.
proxy::getChargedSpacePoints()
, proxy::SpacePointWithCharge
, proxy::ChargedSpacePointsCollectionProxy
This type can be used to get a proxy for recob::SpacePoint
collection with charge. Normally, you want to use proxy::getChargedSpacePoints()
directly instead:
An example of usage for a simple space point processing loop:
In this example, the charged space point proxy accesses the information exclusively via its specific interface. The complete documentation of the interface is split between proxy::ChargedSpacePointsCollectionProxy
(treating the collection as a whole) and proxy::SpacePointWithCharge
(accessing the individual element of the collection).
Unfortunately, the proxy object (point
in the example) can be of a different class depending on which data is merged into it (via optional arguments after the tag
argument). This implies than when passing proxies as arguments to functions, template types must be used. For example, the following code is equivalent to the one above, but with methods processing a single point (a point proxy):
A new, filtered collection of proxies can be created with obvious means and with a less-than-friendly declaration:
The collection thus created (strongPoints
) is valid also after the collection proxy (points
) has fallen out of scope.
proxy::ChargedSpacePoints
is not the type of the collection proxy returned by proxy::getChargedSpacePoints()
. Definition at line 222 of file ChargedSpacePoints.h.
Tag used for the "standard" charge information.
Definition at line 228 of file ChargedSpacePoints.h.
Type of the main collection.
Definition at line 225 of file ChargedSpacePoints.h.