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

FinalStateParticleDumper.h

Go to the documentation of this file.
00001 // ================================================
00002 // FinalStateParticleDumper 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: FinalStateParticleDumper
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_FINALSTATERPARTICLEDUMPER_H
00023 #define ATLFAST_FINALSTATERPARTICLEDUMPER_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 
00040 // Atlfast
00041 #include "AtlfastCode/Cell.h"
00042 #include "AtlfastCode/TesIO.h"
00043 
00044 
00045 #define DEFAULT_inputLocation      "/Event/McEventCollection"
00046 
00047 namespace HepMC_helper{
00048   class IMCselector;
00049   class MCselectorWrapper;
00050 }
00051 
00052 namespace Atlfast {
00055   class FinalStateParticleDumper : public Algorithm {
00056 
00057  public:
00058 
00059   //-------------------------
00060   // Constructors/Destructors
00061   //
00062   // Gaudi requires that the constructor takes certain arguments
00063   // (and passes them directly to the constructor of the base class)
00064   //-------------------------
00066   FinalStateParticleDumper( const std::string& name, ISvcLocator* pSvcLocator ) ; 
00068   virtual ~FinalStateParticleDumper();
00069 
00070 
00071   //------------------------------------------------------
00072   // Methods used by Gaudi to run the algorithm
00073   //------------------------------------------------------
00075   virtual StatusCode initialize() ;
00077   virtual StatusCode execute() ;
00079   virtual StatusCode finalize() ;
00080 
00081  
00082 
00083  private:
00085   std::string m_inputLocation ;
00086   TesIO* m_tesIO;
00087 
00089   void        DumpParticle(std::string, const HepMC::GenParticle*);
00090   void        DumpFlat(std::string space,
00091                        MCparticleCollection::const_iterator ib,
00092                        MCparticleCollection::const_iterator ie);
00093   void        DumpTwoGenerations(std::string space,
00094                        MCparticleCollection::const_iterator ib,
00095                        MCparticleCollection::const_iterator ie);
00096   void        DumpTree(std::string space,
00097                        MCparticleCollection::const_iterator ib,
00098                        MCparticleCollection::const_iterator ie);
00099   void        DumpTree(std::string space,
00100                        HepMC::GenVertex::particle_iterator ib,
00101                        HepMC::GenVertex::particle_iterator ie);
00102   std::string m_selectorName;
00104   HepMC_helper::MCselectorWrapper* m_mcSelector;
00105   //-------------------------------
00106   // Protected methods
00107   //-------------------------------
00108 
00109 
00110 };
00111 
00112 
00113 }  //end of namespace bracket
00114 
00115 #endif
00116 
00117 
00118 
00119 
00120 
00121 
00122 
00123 
00124 
00125 
00126 
00127 
00128 

Generated on Mon Feb 4 15:54:23 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001