#ifndef MARS_MExtractTime
#define MARS_MExtractTime

#ifndef MARS_MExtractor
#include "MExtractor.h"
#endif

class MPedestalPix;
class MArrivalTimeCam;

class MExtractTime : public MExtractor
{
protected:
  
  MArrivalTimeCam *fArrTime; //! Container with the photons arrival times
  
  virtual void FindTimeHiGain(Byte_t *firstused, Float_t &time, Float_t &dtime,
                              Byte_t &sat, const MPedestalPix &ped) const;
  virtual void FindTimeLoGain(Byte_t *firstused, Float_t &time, Float_t &dtime,
                              Byte_t &sat, const MPedestalPix &ped) const;

  Int_t  PreProcess( MParList *pList );
  Bool_t ReInit    ( MParList *pList );
  Int_t  Process   ();

public:

  MExtractTime(const char *name=NULL, const char *title=NULL);

  void Print(Option_t *o) const;

  ClassDef(MExtractTime, 2)   // Arrival Time Extractor Base Class
};

#endif
