Class ParticleCollector

Inheritance Relationships

Base Type

Class Documentation

class ParticleCollector : public Module

A helper ouput mechanism to keep candidates in-memory and directly transfer them to Python.

Public Types

typedef tContainer::iterator iterator

iterator goodies

typedef tContainer::const_iterator const_iterator

Public Functions

ParticleCollector(const std::size_t nBuffer)
ParticleCollector(const std::size_t nBuffer, const bool clone)
ParticleCollector(const std::size_t nBuffer, const bool clone, const bool recursive)
virtual void process(Candidate *candidate) const
void process(ref_ptr<Candidate> c) const
void reprocess(Module *action) const
void dump(const std::string &filename) const
void load(const std::string &filename)
std::size_t size() const
ref_ptr<Candidate> operator[](const std::size_t i) const
void clearContainer()
virtual std::string getDescription() const
std::vector<ref_ptr<Candidate>> &getContainer() const
void setClone(bool b)
bool getClone() const
iterator begin()
const_iterator begin() const
iterator end()
const_iterator end() const
void getTrajectory(ModuleList *mlist, std::size_t i, Module *output) const

Retrieves the trajectory of a detected particle Procedure: takes the initial state of the particle, re-runs the ModuleList for that particle and captures trajectory

void getTrajectory(ref_ptr<ModuleList> mlist, std::size_t i, ref_ptr<Module> output) const
void setDescription(const std::string &description)
inline size_t addReference() const
inline size_t removeReference() const
inline int removeReferenceNoDelete() const
inline size_t getReferenceCount() const

Protected Types

typedef std::vector<ref_ptr<Candidate>> tContainer

Protected Attributes

mutable tContainer container
std::size_t nBuffer
bool clone
bool recursive
mutable size_t _referenceCount