#ifndef HSTART2HITFPAR_H_
#define HSTART2HITFPAR_H_
#include "TArrayF.h"
#include "hparcond.h"
class HParamList;
class HStart2HitFPar : public HParCond {
private:
   Int_t   fModules;      
   Int_t   fStrips;       
   TArrayF fMeanTime;     
   TArrayF fWidth;        
private:
   HStart2HitFPar(const HStart2HitFPar& source);
   HStart2HitFPar& operator=(const HStart2HitFPar& source);
public:
   HStart2HitFPar(const Char_t* name    = "Start2HitFPar",
                  const Char_t* title   = "Start2 Hit Finder Parameters",
                  const Char_t* context = "Start2HitFParProduction") :
      HParCond(name, title, context),
      fModules(0), fStrips(0) {}
   ~HStart2HitFPar() {}
   void    clear();
   void    printParams();
   void    putParams(HParamList* l);
   Bool_t  getParams(HParamList* l);
   UInt_t  getModules();
   UInt_t  getStrips();
   Float_t getMeanTime(Int_t m, Int_t s);
   Float_t getWidth(Int_t m, Int_t s);
   ClassDef(HStart2HitFPar, 1) 
};
inline UInt_t  HStart2HitFPar::getModules()
{
   return fModules;
}
inline UInt_t  HStart2HitFPar::getStrips()
{
   return fStrips;
}
inline Float_t HStart2HitFPar::getMeanTime(Int_t m, Int_t s)
{
   if (m >= 0 && m < fModules &&
       s >= 0 && s < fStrips  &&
       (fStrips * m + s) < fMeanTime.GetSize()) {
      return fMeanTime[fStrips * m + s];
   }
   return -1e10;
}
inline Float_t HStart2HitFPar::getWidth(Int_t m, Int_t s)
{
   if (m >= 0 && m < fModules &&
       s >= 0 && s < fStrips  &&
       (fStrips * m + s) < fWidth.GetSize()) {
      return fWidth[fStrips * m + s];
   }
   return -1e10;
}
#endif /*HSTART2HITFPAR_H_*/