00001 #ifndef IrfTkrHit_H
00002 #define IrfTkrHit_H 1
00003
00004
00005 #include <iostream>
00006 #include "GaudiKernel/Kernel.h"
00007 #include "GaudiKernel/StreamBuffer.h"
00008 #include "GaudiKernel/ContainedObject.h"
00009 #include "GlastEvent/TopLevel/Definitions.h"
00010
00011
00012 extern const CLID& CLID_IrfTkrHit;
00013
00024 class IrfTkrHit : virtual public ContainedObject {
00025
00026 public:
00028 IrfTkrHit() {
00029 m_id = 0;
00030 m_energy = 0.f;
00031 m_noise = 0;
00032 }
00033
00035 virtual ~IrfTkrHit() { }
00036
00038 virtual const CLID& clID() const { return IrfTkrHit::classID(); }
00039 static const CLID& classID() { return CLID_IrfTkrHit; }
00040
00042 unsigned int id () const { return m_id; }
00043 void setId (long value) { m_id = value; }
00044
00046 float energy () const { return m_energy; }
00048 void setEnergy (float value) { m_energy = value; }
00049
00051 int noise () const { return m_noise; }
00053 void setNoise (int value) { m_noise = value; }
00054
00056 virtual StreamBuffer& serialize( StreamBuffer& s );
00057 virtual StreamBuffer& serialize( StreamBuffer& s ) const;
00058 virtual std::ostream& fillStream( std::ostream& s ) const;
00059
00060 private:
00061 unsigned int m_id;
00062 float m_energy;
00063 int m_noise;
00064 };
00065
00066 inline StreamBuffer& IrfTkrHit::serialize( StreamBuffer& s ) const {
00067 ContainedObject::serialize(s);
00068 return s
00069 << m_id
00070 << m_energy
00071 << m_noise;
00072 }
00073
00074
00075 inline StreamBuffer& IrfTkrHit::serialize( StreamBuffer& s ) {
00076 ContainedObject::serialize(s);
00077 return s
00078 >> m_id
00079 >> m_energy
00080 >> m_noise;
00081 }
00082
00083
00084 inline std::ostream& IrfTkrHit::fillStream( std::ostream& s ) const {
00085 return s
00086 << "class IrfTkrHit :"
00087 << "\n Energy = "
00088 << m_energy
00089 << "\n Strip id = " << m_id
00090 << "\n Noise = " << m_noise;
00091 }
00092
00093
00094
00095 template <class TYPE> class ObjectVector;
00096 typedef ObjectVector<IrfTkrHit> IrfTkrHitVector;
00097 template <class TYPE> class ObjectList;
00098 typedef ObjectList<IrfTkrHit> IrfTkrHitList;
00099
00100
00101 #endif // IrfTkrHit_H