AtlfastDumper.h

Go to the documentation of this file.
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_ATLFASTDUMPER_H
00023 #define ATLFAST_ATLFASTDUMPER_H
00024 
00025 // STL
00026 #include <vector>
00027 #include <string>
00028 
00029 // Gaudi 
00030 #ifndef GAUDIKERNEL_ALGORITHM_H
00031 #include "GaudiKernel/Algorithm.h"
00032 #define GAUDIKERNEL_ALGORITHM_H
00033 #endif
00034 
00035 #ifndef GAUDIKERNEL_MSGSTREAM_H
00036 #include "GaudiKernel/MsgStream.h"
00037 #define GAUDIKERNEL_MSGSTREAM_H
00038 #endif
00039 
00040 // Other
00041 #include <algorithm>
00042 // Atlfast
00043 #include "AtlfastUtils/TesIO.h"
00044 #include "AtlfastUtils/FunctionObjects.h"
00045 #include "AtlfastEvent/AtlfastDumperObject.h"
00046 
00047 class ISvcLocator;
00048 
00049 namespace Atlfast {
00050   using std::string;
00051 
00052   class EventHeader;
00053 
00060   class AtlfastDumper : public Algorithm {
00061     
00062   public:
00063     
00065     AtlfastDumper( const std::string& name, ISvcLocator* pSvcLocator ) ; 
00067     virtual ~AtlfastDumper();
00068     
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_jetBLocation ;
00084     std::string m_cellLocation ;
00085     std::string m_imuonLocation ;
00086     std::string m_nimuonLocation ;
00087     std::string m_ielectronLocation ;
00088     std::string m_nielectronLocation ;
00089     std::string m_iphotonLocation ;
00090     std::string m_niphotonLocation ;
00091     std::string m_coordinates ;
00092     TesIO*      m_tesIO;
00093     int         m_eventNo;
00095     template<class Iter>
00096       void  sortAndDump(Iter, Iter, const std::string&) const;
00097     void dumpEH(const EventHeader*) const;
00098 
00099     //holds the Stotegate MC location
00100     std::string m_mcLocation;
00101 
00102   };
00103 
00104 
00107   template<class Iter>
00108     inline
00109     void AtlfastDumper::sortAndDump(Iter start, 
00110                                     Iter end, 
00111                                     const std::string& location) const {
00112     
00113     std::sort(start, end, SortAttribute::AscendingEta());
00114     std::for_each(start, end, AtlfastDumperObject(location, m_coordinates) );
00115 
00116   }
00117 
00118 
00119   
00120 }  //end of namespace bracket
00121 
00122 #endif
00123 
00124 
00125 
00126 
00127 
00128 
00129 
00130 
00131 
00132 
00133 
00134 
00135 

Generated on Mon Sep 24 14:19:10 2007 for AtlfastAlgs by  doxygen 1.5.1