////////////////////////////////////////////////////////////////////////
// $Id: TemperatureCalScheme.h,v 1.4 2005/09/02 16:54:01 tagg Exp $
//
// Prototype Temperature Calibrator class
//
// n.tagg1@physics.ox.ac.uk
////////////////////////////////////////////////////////////////////////
#ifndef TEMPERATURECALSCHEME_H
#define TEMPERATURECALSCHEME_H

#include "CalScheme.h"
#include "DatabaseInterface/DbiResultPtr.h"
#include "Calibrator/CalTempCalibration.h"
#include "Plex/PlexStripEndId.h"
#include "DcsUser/Dcs_Env_Far.h"
#include "DcsUser/Dcs_Env_Near.h"

class TemperatureCalScheme : public CalScheme
{
public:
  TemperatureCalScheme();

  virtual Float_t GetTemperature(Int_t mode = 0) const;

  virtual void DoReset( const VldContext& context );
  virtual void ConfigModified();
  virtual void PrintConfig( std::ostream& os ) const;
  
private:
  Double_t fDefaultTemp;

  // Old CalDet scheme:
  DbiResultPtr<CalTempCalibration> fTempResPtr;
  
  // Proper FD scheme:
  DbiResultPtr<Dcs_Env_Far>        fDcsFarPtr;

  // Proper ND scheme:
  DbiResultPtr<Dcs_Env_Near>       fDcsNearPtr;

  ClassDef(TemperatureCalScheme,0);
};

#endif



































