#ifndef HPIONTRACKERHIT_H
#define HPIONTRACKERHIT_H
#include "TObject.h"
class HPionTrackerHit : public TObject
{
private:
	Int_t		fPlane;		
	Int_t		fHitCnt;	
	Float_t		fTime;
	Float_t		fTimeX;		
	Float_t		fTimeY;		
	Float_t		fCharge;
	Float_t		fChargeX;	
	Float_t		fChargeY;	
	Float_t		fLocalX;	
	Float_t		fLocalY;	
	Float_t		fLabX;		
	Float_t		fLabY;		
	Float_t		fLabZ;		
public:
	HPionTrackerHit (void) :
		fPlane(-1), fHitCnt(-1),
		fTime (-1000000.F), fTimeX (-1000000.F), fTimeY (-1000000.F),
		fCharge (-1000000.F), fChargeX (-1000000.F), fChargeY (-1000000.F),
		fLocalX (-1000000.F), fLocalY (-1000000.F),
		fLabX (-1000000.F), fLabY (-1000000.F), fLabZ (-1000000.F) {}
	~HPionTrackerHit (void) {}
	inline Int_t	getPlane (void) const			{ return fPlane; }
	inline Int_t	getHitCnt (void) const			{ return fHitCnt; }
	inline Float_t	getTime (void) const 			{ return fTime; }
	inline Float_t	getCharge (void) const 			{ return fCharge; }
	void	getTimeAndCharge (Float_t &, Float_t &);
	void	getTimeAndChargeX (Float_t &, Float_t &);
	void	getTimeAndChargeY (Float_t &, Float_t &);
	void	getLocalPos (Float_t &, Float_t &) const;
	void	getLabPos (Float_t &, Float_t &, Float_t &) const;
	inline void		setPlaneHit (const Int_t m, const Int_t c)		{ fPlane = m; fHitCnt = c; }
	inline void		setPlane (const Int_t m)		{ fPlane = m; }
	inline void		setHitCnt (const Int_t c)		{ fHitCnt = c; }
	void	setTimeAndCharge (const Float_t, const Float_t, const Float_t, const Float_t);
	void	setLocalPos (const Float_t x, const Float_t y);
	void	setLabPos (const Float_t x, const Float_t y, const Float_t z);
private:
	void calcAvgs();
	ClassDef (HPionTrackerHit, 1) 
};