// =====================================================================
//  $Id: St00CtiSolution.hh,v 1.1.1.1 2003/06/27 02:56:41 goiwai Exp $
//  $Name: CLDAQ-1-06-02 $
// =====================================================================
#ifndef __ST0001CTISOLUTION_HH
#define __ST0001CTISOLUTION_HH

#include "Tglobals.h"
#include "St00SinglePixelList.hh"

class St00CtiSolution
{

  private:
    St00SinglePixelList theSinglePixelList;
    Tdouble theHorizontalCTI;
    Tdouble theVerticalCTI;
    Tdouble theInitialValue;
    Tdouble theErrorOfHorizontalCTI;
    Tdouble theErrorOfVerticalCTI;
    Tdouble theErrorOfInitialValue;

  public:
    St00CtiSolution( const St00SinglePixelList& list );
    ~St00CtiSolution();

  private:
    Tvoid resolve();
    Tvoid resolveError();

  public:
    const St00SinglePixelList& GetSinglePixelList() const;
    Tdouble GetHorizontalCTI() const;
    Tdouble GetVerticalCTI() const;
    Tdouble GetInitialValue() const;
    Tdouble GetErrorOfHorizontalCTI() const;
    Tdouble GetErrorOfVerticalCTI() const;
    Tdouble GetErrorOfInitialValue() const;

};

inline const St00SinglePixelList& St00CtiSolution::GetSinglePixelList() const
{
  return( theSinglePixelList );
}

inline Tdouble St00CtiSolution::GetHorizontalCTI() const
{
  return( theHorizontalCTI );
}

inline Tdouble St00CtiSolution::GetInitialValue() const
{
  return( theInitialValue );
}

inline Tdouble St00CtiSolution::GetVerticalCTI() const
{
  return( theVerticalCTI );
}

inline Tdouble St00CtiSolution::GetErrorOfHorizontalCTI() const
{
  return( theErrorOfHorizontalCTI );
}

inline Tdouble St00CtiSolution::GetErrorOfInitialValue() const
{
  return( theErrorOfInitialValue );
}

inline Tdouble St00CtiSolution::GetErrorOfVerticalCTI() const
{
  return( theErrorOfVerticalCTI );
}

#endif
