// $Header: LCDTrackFullSmear.h $

#ifndef LCDTRACKFULLSMEAR_H
#define LCDTRACKFULLSMEAR_H


#include "LCDEvent.h"
#include "LCDTrack.h"
#include "LCDSmearTrack.h"
#include "LCDGetParameters.h"
#include "LCDRecModule.h"
#include "math.h"

//=========================================================
class LCDTrackFullSmear : public LCDRecModule {
public:
  LCDTrackFullSmear() : m_parameters(0), m_recon(0) {} // constructor
  LCDTrackFullSmear(LCDGetParameters* gp,
		    Char_t* smearFileName); // constructor
  ~LCDTrackFullSmear();  
  
  void Cleanup(LCDEvent* event); // clean up
  void Doit(LCDEvent* event);    // creates the tracks 
  
  LCDSmearTrack* GetTracker() {return m_recon;} // returns SmearTrack ptr

  void MakeLCDSmearTrack(LCDGetParameters* gp, Char_t* smearFileName);

private:
  LCDGetParameters* m_parameters; // parameters
  LCDSmearTrack*    m_recon;      // track smearer

public:
  ClassDef(LCDTrackFullSmear,1)  // Manager class for Fast MC track generation
};

#endif
