// $header: GetParameters.h $

#ifndef NLD_GETPARAM_H
#define NLD_GETPARAM_H

#include "TObject.h"
#include "TString.h"
#include <stdio.h>

class GetParameters : public TObject {

public:

  GetParameters(FILE* parFile);

  Int_t    getMinHit() {return m_minHit;};
  Float_t  getPTMin()  {return m_PtMin;};
  Float_t  getPolarInner() {return m_PolarInner;};
  Float_t  getPolarOuter() {return m_PolarOuter;};

  Float_t  getEMEnergyScale() {return m_EMEnergyScale;};
  Float_t  getHADEnergyScale() {return m_HADEnergyScale;};
  Float_t  getMUEnergyScale() {return m_MUEnergyScale;};
  Float_t  getLUMEnergyScale() {return m_LUMEnergyScale;};

  Float_t  getEMcosThetaSeg() {return m_EMcosThetaSeg;};
  Float_t  getHADcosThetaSeg() {return m_HADcosThetaSeg;};
  Float_t  getMUcosThetaSeg() {return m_MUcosThetaSeg;};
  Float_t  getLUMcosThetaSeg() {return m_LUMcosThetaSeg;};

  Float_t  getEMphiSeg() {return m_EMphiSeg;};
  Float_t  getHADphiSeg() {return m_HADphiSeg;};
  Float_t  getMUphiSeg() {return m_MUphiSeg;};
  Float_t  getLUMphiSeg() {return m_LUMphiSeg;};

  TString* getBarrelTableFile() {return &m_BarrelTableFile;};
  TString* getEndcapTableFile() {return &m_EndcapTableFile;};

  TString* getDetectorName() { return &m_DetectorName;}

private:

//  acceptances

  Int_t m_minHit;    // min hit for track acceptance
  Float_t m_PtMin;   // min momentum for track acceptance


  Float_t m_PolarInner;  // polar angle acceptance for tracking barrel

  Float_t m_PolarOuter;  // polar angle acceptance for tracking ec

   Float_t m_EMEnergyScale; // EM emergy scale for sampling
   Float_t m_HADEnergyScale;  // HAD emergy scale for sampling
   Float_t m_MUEnergyScale;  // MU emergy scale for sampling
   Float_t m_LUMEnergyScale; // LUM emergy scale for sampling

   Float_t m_EMcosThetaSeg; // EM cos(Theta) segmentation
   Float_t m_HADcosThetaSeg; // HAD cos(Theta) segmentation
   Float_t m_MUcosThetaSeg; // MU cos(Theta) segmentation
   Float_t m_LUMcosThetaSeg; // ELU cos(Theta) segmentation

   Float_t m_EMphiSeg; // EM phi segmentation
   Float_t m_HADphiSeg; // HAD phi segmentation
   Float_t m_MUphiSeg; // MU phi segmentation
   Float_t m_LUMphiSeg; // LUM phi segmentation

  TString m_BarrelTableFile; // to find barrel-specific tracking parameters
  TString m_EndcapTableFile; // to find endcap-specific tracking parameters

  TString m_DetectorName;    // nickname for detector geometry

public:
  ClassDef(GetParameters,0)      //  Get recon parameters from a file
};
#endif
