00001 // ================================================ 00002 // IKinematicDumper class description 00003 // ================================================ 00004 // 00005 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT 00006 // 00007 // 00008 // This version.... 00009 // 00010 // 00011 // Namespace Atlfast:: 00012 // 00013 // class: IKinematicDumper 00014 // 00015 // Description: 00016 // 00017 // formatted output of collection of Reconstructed Particles from the TES 00018 // for debugging purposes 00019 // ................................................................ 00020 // 00021 00022 #ifndef ATLFAST_IKINEMATICDUMPER_H 00023 #define ATLFAST_IKINEMATICDUMPER_H 00024 00025 // STL 00026 #include <vector> 00027 #include <string> 00028 00029 // Gaudi 00030 #include "GaudiKernel/ISvcLocator.h" 00031 #include "GaudiKernel/IAlgorithm.h" 00032 #include "GaudiKernel/Algorithm.h" 00033 #include "GaudiKernel/MsgStream.h" 00034 #include "GaudiKernel/DataObject.h" 00035 00036 // Other 00037 #include "CLHEP/Vector/LorentzVector.h" 00038 00039 // Atlfast 00040 #include "AtlfastEvent/Cell.h" 00041 #include "AtlfastUtils/TesIO.h" 00042 namespace Atlfast { 00043 using std::string; 00044 00051 class IKinematicDumper : public Algorithm { 00052 00053 public: 00054 00055 //------------------------- 00056 // Constructors/Destructors 00057 // 00058 // Gaudi requires that the constructor takes certain arguments 00059 // (and passes them directly to the constructor of the base class) 00060 //------------------------- 00062 IKinematicDumper( const std::string& name, ISvcLocator* pSvcLocator ) ; 00064 virtual ~IKinematicDumper(); 00065 00066 00067 //------------------------------------------------------ 00068 // Methods used by Gaudi to run the algorithm 00069 //------------------------------------------------------ 00071 virtual StatusCode initialize() ; 00073 virtual StatusCode execute() ; 00075 virtual StatusCode finalize() ; 00076 00077 00078 00079 private: 00081 std::string m_clusterLocation ; 00082 std::string m_jetLocation ; 00083 std::string m_cellLocation ; 00084 std::string m_imuonLocation ; 00085 std::string m_nimuonLocation ; 00086 std::string m_ielectronLocation ; 00087 std::string m_nielectronLocation ; 00088 std::string m_iphotonLocation ; 00089 std::string m_niphotonLocation ; 00091 TesIO* m_tesIO; 00093 void dump(const IKinematic*) const; 00095 void header() const; 00096 //holds the Storegate MC location 00097 std::string m_mcLocation; 00098 }; 00099 00100 00101 } //end of namespace bracket 00102 00103 #endif 00104 00105 00106 00107 00108 00109 00110 00111 00112 00113 00114 00115 00116