// $Header: SmearTrack.h $

#ifndef NLD_SMRTRK_H
#define NLD_SMRTRK_H

#include "TRandom.h"
#include "TMath.h"
#include "Event.h"
#include "Track.h"
#include "McPart.h"
#include "LookUp2d.h"
#include "TString.h"
#include "GetParameters.h"

class SmearTrack : public TObject  {
public:
  SmearTrack(GetParameters* gp);  // constructor
  Track* makeTrack(McPart* p, Int_t index); // constructor

  GetParameters* getParameters() { return m_parameters;} // get parameters class
  LookUp2d* getBarrelTable(int i) { return barrel_parNum[i];}; // get barrel lookup table
  LookUp2d* getEndcapTable(int i) { return endcap_parNum[i];}; // get endcap lookup table

// indices into parNum for parameters

  static int ptI;
  static int phiI;
  static int zI;
  static int rI;
  static int lambdaI;

private:
  TRandom* m_random; // random numbers for smearing
  GetParameters* m_parameters; // parameters class
  LookUp2d* barrel_parNum[5]; // lookup tables for barrel
  LookUp2d* endcap_parNum[5]; // lookup tables for endcap

public:
  ClassDef(SmearTrack,1)   // for Cint dictionary
};
#endif
