10 #ifndef LARCOREALG_COREUTILS_PARTICLEFILTERS_H
11 #define LARCOREALG_COREUTILS_PARTICLEFILTERS_H
16 #include "TGeoVolume.h"
17 #include "TGeoMatrix.h"
18 #include "TLorentzVector.h"
56 VolumeInfo_t(TGeoVolume
const* new_vol, TGeoCombiTrans
const* new_trans)
59 TGeoVolume
const*
vol;
93 info.trans->MasterToLocal(pos.data(),
local);
95 if (
info.vol->Contains(local))
return true;
114 #endif // LARCOREALG_COREUTILS_PARTICLEFILTERS_H
bool mustKeep(Point_t const &pos) const
Returns whether a track along the specified point must be kept.
double std(const std::vector< short > &wf, const double ped_mean, size_t start, size_t nsample)
std::vector< VolumeInfo_t > volumeInfo
all good volumes
std::array< double, 3 > Point_t
std::vector< VolumeInfo_t > AllVolumeInfo_t
TGeoVolume const * vol
ROOT volume.
PositionInVolumeFilter(std::vector< VolumeInfo_t > &&volumes)
bool mustKeep(TLorentzVector const &pos) const
TGeoCombiTrans const * trans
volume transformation (has both ways)
bool mustKeep(TVector3 const &pos) const
VolumeInfo_t(TGeoVolume const *new_vol, TGeoCombiTrans const *new_trans)
PositionInVolumeFilter(std::vector< VolumeInfo_t > const &volumes)
Constructors: read the volumes from the specified list.
Use to keep particles with at least part of trajectory in a volume.