00001
00002
00004
00005 #define LDGLAST_DATA_H 1
00006
00007 #include "data/SiData.h"
00008 #include <iostream>
00009 #include <iomanip>
00010 #include <map>
00011 #include <vector>
00012 #include "geometry/Point.h"
00013 #include "idents/ModuleId.h"
00014
00015 #include "GaudiKernel/Kernel.h"
00016 #include "GaudiKernel/DataObject.h"
00017 #include "GaudiKernel/SmartRefVector.h"
00018 #include "GlastEvent/TopLevel/Definitions.h"
00019
00020
00021
00022 #include "data/SiData.h"
00023 #include "data/CsIData.h"
00024 #include "data/IVetoData.h"
00025
00026 #include "GlastEvent/data/TdGlastData.h"
00027
00028 #include <iostream>
00029 #include <vector>
00030
00031 #include "instrument/MCTruth.h"
00032
00033 extern const CLID& CLID_LdGlastData;
00034
00036
00048 class LdGlastData : virtual public TdGlastData {
00049
00050 public:
00051 LdGlastData ( const CsIData* csi, const SiData* si,const IVetoData* vd)
00052 : m_csiData(csi), m_siData( si), m_vetoData (vd), m_truth(MCTruth::instance()){};
00053
00054 virtual const CLID& clID() const { return LdGlastData::classID(); }
00055 static const CLID& classID() { return CLID_LdGlastData; }
00056
00057 const CsIData* getCsIData() const { return m_csiData; }
00058 const SiData* getSiData() const{ return m_siData; }
00059 const IVetoData* getVetoData() const { return m_vetoData; }
00060
00061 const MCTruth* getMCTruth()const { return m_truth;}
00062 virtual void printOn(std::ostream&)const;
00063
00064
00065 void setMCTruth(const MCTruth* t){ m_truth =t;}
00066 private:
00067 const CsIData* m_csiData;
00068 const SiData* m_siData;
00069 const IVetoData* m_vetoData;
00070 const MCTruth* m_truth;
00071 };
00072
00073 void LdGlastData::printOn(std::ostream& out)const {
00074 getVetoData()->printOn(out);
00075 getSiData()->printOn(out);
00076 getCsIData()->printOn(out);
00077 }
00078 #endif
00079