#ifndef TRACKSEGMENTMAKER_H
#define TRACKSEGMENTMAKER_H
//_____________________________________________________________________________
///
/// \class TrackSegmentMaker 
///
/// ABC defines a jelper class that that divides a given track into
/// one or more segments.  
///
/// \author Sergei avva@fnal.gov
///

#include <vector>

#include "Rtypes.h"

#include "CandFitTrackSA/TrackContext.h"


class TrackSegmentMaker {

public:
    virtual ~TrackSegmentMaker() {};

    ///
    /// configure filter using given AlgConfig 
    ///
    virtual void    Config(const AlgConfig& ) = 0;
    
    virtual Int_t   MakeSegments(const TrackContext& trackContext,
                                std::vector<TrackContext>& segments) const = 0;
};

#endif
