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 "AtlfastEvent/Cell.h"
00042 #include "AtlfastUtils/TesIO.h"
00043 
00044 
00045 namespace HepMC_helper{
00046   class IMCselector;
00047   class MCselectorWrapper;
00048 }
00049 
00050 namespace Atlfast {
00051   using std::string;
00054   class FinalStateParticleDumper : public Algorithm {
00055 
00056  public:
00057 
00058   //-------------------------
00059   // Constructors/Destructors
00060   //
00061   // Gaudi requires that the constructor takes certain arguments
00062   // (and passes them directly to the constructor of the base class)
00063   //-------------------------
00065   FinalStateParticleDumper( const std::string& name, ISvcLocator* pSvcLocator ) ; 
00067   virtual ~FinalStateParticleDumper();
00068 
00069 
00070   //------------------------------------------------------
00071   // Methods used by Gaudi to run the algorithm
00072   //------------------------------------------------------
00074   virtual StatusCode initialize() ;
00076   virtual StatusCode execute() ;
00078   virtual StatusCode finalize() ;
00079 
00080  
00081 
00082  private:
00084   std::string m_inputLocation ;
00085   TesIO* m_tesIO;
00086 
00088   void        DumpParticle(std::string, const HepMC::GenParticle*);
00089   void        DumpFlat(std::string space,
00090                        MCparticleCollection::const_iterator ib,
00091                        MCparticleCollection::const_iterator ie);
00092   void        DumpTwoGenerations(std::string space,
00093                        MCparticleCollection::const_iterator ib,
00094                        MCparticleCollection::const_iterator ie);
00095   void        DumpTree(std::string space,
00096                        MCparticleCollection::const_iterator ib,
00097                        MCparticleCollection::const_iterator ie);
00098   void        DumpTree(std::string space,
00099                        HepMC::GenVertex::particle_iterator ib,
00100                        HepMC::GenVertex::particle_iterator ie);
00101   std::string m_selectorName;
00103   HepMC_helper::MCselectorWrapper* m_mcSelector;
00104   //-------------------------------
00105   // Default Values
00106   //-------------------------------
00107 
00108   };
00109   
00110 }  //end of namespace bracket
00111 
00112 #endif
00113 
00114 
00115 
00116 
00117 
00118 
00119 
00120 
00121 
00122 
00123 
00124 
00125 

Generated on Wed May 1 14:11:31 2002 for AtlfastAlgs by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001