#ifndef RECO_STRIP_H
#define RECO_STRIP_H

///------------------------------------------------------------------------------------------------
///
///  Prototype of concrete reconstruction class RecoStrip
///
///  Authors: Sergei Avvakumov and Rustem Ospanov
///
///  $Id: Strip.h,v 1.1 2007/02/07 01:53:15 avva Exp $
///------------------------------------------------------------------------------------------------

//Local
#include "StripABC.h"

namespace Reco
{

  class Strip : public StripABC
  {

  public:

      Strip(UShort_t, UShort_t, UShort_t, PlaneView::PlaneView_t, Float_t, Float_t, Float_t, PlexStripEndId );

      ~Strip();

      Float_t GetCharge() const { return  pe; };

      Float_t  GetZPos() const { return  zpos; };
      Float_t  GetTPos() const { return  tpos; };

      PlexStripEndId  GetStripEndId()  const { return  seid; };

      UShort_t GetPlane() const { return  plane; };
      UShort_t GetStrip() const { return  strip; };

      UShort_t GetDemuxVetoFlag() const { return  demuxVeto; };
      PlaneView::PlaneView_t GetPlaneView() const { return view; };

  private:

      UShort_t  strip;          // strip number
      UShort_t  plane;          // plane number
      UShort_t  demuxVeto;      // demux veto flag
      PlaneView::PlaneView_t    view;      // planeview (ala PlaneView::EPlaneView)
      Float_t   tpos;           // transverse position of this strip
      Float_t   zpos;           // Z position of this strip
      Float_t   pe;             // strip charge in PE units
      PlexStripEndId  seid;     // strip end id
  };

} // namespace Reco

#endif
