Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

AcdRecon.h

Go to the documentation of this file.
00001 #ifndef GlastEvent_AcdRecon_H
00002 #define GlastEvent_AcdRecon_H 1
00003 
00004 
00005 // Include files
00006 #include <iostream>
00007 #include "idents/AcdId.h"
00008 #include "data/IVetoData.h"
00009 #include "GaudiKernel/Kernel.h"
00010 #include "GaudiKernel/StreamBuffer.h"
00011 #include "GaudiKernel/DataObject.h"
00012 
00013 #include "GlastEvent/TopLevel/Definitions.h"
00014 
00015 #include <vector>
00016 #include <map>
00017 
00029 extern const CLID& CLID_AcdRecon;
00030 
00031 
00032 class AcdRecon : virtual public DataObject  { 
00033 
00034 public:
00035     AcdRecon()
00036         : m_totEnergy(0.0),
00037         m_tileCount(0),
00038         m_gammaDOCA(-99999.0),
00039         m_DOCA(-99999.0)
00040     {};
00041 
00042     AcdRecon(double e, int count, double gDoca, double doca,
00043         IVetoData::Tile hitTile, std::vector<double> &rowDOCA, 
00044         std::map<idents::AcdId,double> &energies)       
00045         : m_totEnergy(e),
00046         m_tileCount(count),
00047         m_gammaDOCA(gDoca),
00048         m_DOCA(doca),
00049         m_hitTile(hitTile),
00050         m_rowDOCA_vec(rowDOCA),
00051         m_energies(energies)
00052 
00053     {};
00054 
00056     virtual ~AcdRecon() { };
00057 
00059     virtual const CLID& clID() const   { return AcdRecon::classID(); }
00060     static const CLID& classID()       { return CLID_AcdRecon; }
00061 
00062     inline const double energy() const { return m_totEnergy; };
00063     inline const int tileCount() const { return m_tileCount; };
00064     inline const double gammaDOCA() const { return m_gammaDOCA; };
00065     inline const double DOCA() const { return m_DOCA; };
00066 
00067 
00068 
00070     virtual StreamBuffer& serialize( StreamBuffer& s ) const;
00072     virtual StreamBuffer& serialize( StreamBuffer& s );
00074     virtual std::ostream& fillStream( std::ostream& s ) const;
00075 
00076 
00077 
00078 private:
00079 
00080     double m_totEnergy;
00081     int m_tileCount;
00082     double m_gammaDOCA;
00083     double m_DOCA;
00084     std::vector<double> m_rowDOCA_vec;
00085 
00086     // record of the tile with the minimum Distance of Closest Approach
00087     IVetoData::Tile m_hitTile;
00088 
00089     std::map<idents::AcdId,double> m_energies;
00090 
00091 };
00092 
00093 
00095 inline StreamBuffer& AcdRecon::serialize( StreamBuffer& s ) const
00096 {
00097   DataObject::serialize(s);
00098   return s
00099     << m_totEnergy
00100     << m_tileCount
00101     << m_gammaDOCA
00102     << m_DOCA;
00103 }
00104 
00105 
00107 inline StreamBuffer& AcdRecon::serialize( StreamBuffer& s )
00108 {
00109   DataObject::serialize(s);
00110   
00111   s >> m_totEnergy
00112     >> m_tileCount
00113     >> m_gammaDOCA
00114     >> m_DOCA;
00115 
00116   return s;
00117 }
00118 
00119 
00121 inline std::ostream& AcdRecon::fillStream( std::ostream& s ) const
00122 {
00123   return s
00124     << "    base class AcdRecon :"
00125     << "\n        total energy      = "
00126     << GlastEventFloatFormat( GlastEvent::width, GlastEvent::precision )
00127     << m_totEnergy << ", "
00128     << "\n        tile Count              = "
00129     << GlastEventFloatFormat( GlastEvent::width, GlastEvent::precision )
00130     << m_tileCount   << " )"
00131     << "\n        gamma DOCA     = "
00132     << m_gammaDOCA << " )"
00133     << "\n        DOCA     = "
00134     << GlastEventFloatFormat( GlastEvent::width, GlastEvent::precision )
00135     << m_DOCA << " )";
00136 }
00137 
00138 
00139 
00140 
00141 #endif    // GlastEvent_AcdRecon_H
00142 

Generated at Wed Nov 21 12:22:49 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000