// Filter.cpp #include "Filter.h" using trf::Filter; //********************************************************************** // Free functions. //********************************************************************** namespace { ObjPtr create(const ObjData& data) { return ObjPtr(0); } } //********************************************************************** // Member functions. //********************************************************************** // constructor Filter::Filter() : _loop(false) { } //********************************************************************** // destructor Filter::~Filter() { } //********************************************************************** // Return the creator. ObjCreator Filter::get_creator() { return create; } //********************************************************************** // Process // Default implementation calls process_with_records. // User should override this or process_with_records. Filter::FlagArray Filter::process(MTrackArray& trhs) const { if ( _loop ) { assert(false); abort(); } _loop = true; FlagArray result = process_with_records(trhs, 0); _loop = false; return result; } //********************************************************************** // Process with records. // Default implementation calls process. // User should override this or process. Filter::FlagArray Filter:: process_with_records(MTrackArray& trhs, CutRecordArray* precs) const { return process(trhs); } //**********************************************************************