//_____________________________________________________________________________
///
/// \class TrackFilterDummy
///
/// Dummy filter - passes all tracks
///
/// \author Sergei avva@fnal.gov
///

#include "Algorithm/AlgConfig.h"
#include "UgliGeometry/UgliGeomHandle.h"

#include "CandFitTrackSA/TracerSA.h"
#include "CandFitTrackSA/TrackFilterFactory.h"
#include "CandFitTrackSA/TrackFilterDummy.h"
#include "CandFitTrackSA/TrackContext.h"


// The ID of class Line
static const std::string DUMMY_TRACK_FILTER = "Dummy";

// Create an anonymous namespace
// to make the function invisible from other modules
namespace {

TrackFilter* Create() { return new TrackFilterDummy; }

// register block
bool registered = TrackFilterFactory::Instance().RegisterTrackFilter(
                                                    DUMMY_TRACK_FILTER,
                                                            Create);
}  // namespace

///
/// ctor
///
TrackFilterDummy::TrackFilterDummy()
{
    TracerSA trace("TrackFilterDummy::TrackFilterDummy()");
}

///
/// dtor
///
TrackFilterDummy::~TrackFilterDummy()
{
    TracerSA trace("TrackFilterDummy::~TrackFilterDummy()");
}


///
/// read configuration parameters from AlgConfig
///
void TrackFilterDummy::Config(const AlgConfig &)
{
    TracerSA trace("TrackFilterDummy::Config(const AlgConfig&)");
}


///
/// Pass method checks if the track passes cuts used to select
/// good stopping tracks to claibrate FD B-field. If any of the
/// cuts fail this method "short circuits" and returns false
///
Bool_t TrackFilterDummy::Pass(const TrackContext &) const
{
    TracerSA trace("TrackFilterDummy::Pass(const TrackContext&)");
    return kTRUE;
}
