// $Id: RecoEnergy.hh,v 1.6 2005/03/30 09:19:54 naumov Exp $
// Author: R.Pesce   2005/01/04

/*****************************************************************************
 * ESAF: Euso Simulation and Analysis Framework                              *
 *                                                                           *
 *  Id: RecoEnergy                                                           *
 *  Package: <packagename>                                                   *
 *  Coordinator: <coordinator>                                               *
 *                                                                           *
 *****************************************************************************/

#ifndef __RECOENERGY_HH__
#define __RECOENERGY_HH__

#include "TObject.h"

////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// RecoEnergy                                                                 //
//                                                                            //  
// <brief class description>                                                  //  
//                                                                            //  
////////////////////////////////////////////////////////////////////////////////

class RecoEnergy : public TObject {
public:
    RecoEnergy();
    //ctor

    RecoEnergy( const RecoEnergy& );
    //copy ctor
    
    virtual ~RecoEnergy();
    //dtor

    virtual void Copy( TObject& ) const;
    //copy to a new object

    void Clear();
    //clear method

    //setters
    inline void SetQuality(Double_t t)            { fQuality = t; }
    inline void SetEnergy(Double_t t, Double_t f) { fEnergy = t; fEnergySigma = f; }
    inline void SetEnergyMCError(Double_t t)      { fEnergyMCError = t; }
    inline void SetThetaFoV(Double_t t)           { fThetaFoVMax = t; }
    inline void SetPhiFoV(Double_t t)             { fPhiFoVMax = t; }
    
    //getters
    inline Double_t GetQuality()            const { return fQuality; }
    inline Double_t GetEnergy()             const { return fEnergy; }
    inline Double_t GetEnergyMCError()      const { return fEnergyMCError; }
    inline Double_t GetEnergySigma()        const { return fEnergySigma; }

private:
    Double_t fQuality;               // reconstruction quality variable defined by the the module responsible
    Double_t fEnergy;                // reconstructed energy
    Double_t fEnergySigma;           // Error in energy
    Double_t fEnergyMCError;         // Error in energy
    Double_t fThetaFoVMax;           // Theta FoV for shower maximum
    Double_t fPhiFoVMax;             // Phi FoV for shower maximum
    ClassDef(RecoEnergy,1)
};

#endif  /* __RECOENERGY_HH__ */