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_FinalStateParticleDumper__
00023 #define __ATLFAST_FinalStateParticleDumper__
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/HepMC_helper.h"
00043 #include "AtlfastCode/TesIO.h"
00044 
00045 //*****************************************
00046 // Default paths in the Transient event store to get/put entities
00047 //
00048 //[Note:  This will change as the current system is not considered acceptable.]
00049 //******************************************
00050 
00051 #define DEFAULT_inputLocation      "/Event/McEventCollection"
00052 
00053 namespace Atlfast {
00056   class FinalStateParticleDumper : public Algorithm {
00057 
00058  public:
00059 
00060   //-------------------------
00061   // Constructors/Destructors
00062   //
00063   // Gaudi requires that the constructor takes certain arguments
00064   // (and passes them directly to the constructor of the base class)
00065   //-------------------------
00067   FinalStateParticleDumper( const std::string& name, ISvcLocator* pSvcLocator ) ; 
00069   virtual ~FinalStateParticleDumper();
00070 
00071 
00072   //------------------------------------------------------
00073   // Methods used by Gaudi to run the algorithm
00074   //------------------------------------------------------
00076   virtual StatusCode initialize() ;
00078   virtual StatusCode execute() ;
00080   virtual StatusCode finalize() ;
00081 
00082  
00083 
00084  private:
00086   std::string m_inputLocation ;
00087   TesIO* m_tesIO;
00088 
00090   void        DumpParticle(std::string, const HepMC::GenParticle*);
00091   void        DumpFlat(std::string space,
00092                        MCparticleCollection::const_iterator ib,
00093                        MCparticleCollection::const_iterator ie);
00094   void        DumpTwoGenerations(std::string space,
00095                        MCparticleCollection::const_iterator ib,
00096                        MCparticleCollection::const_iterator ie);
00097   void        DumpTree(std::string space,
00098                        MCparticleCollection::const_iterator ib,
00099                        MCparticleCollection::const_iterator ie);
00100   void        DumpTree(std::string space,
00101                        HepMC::GenVertex::particle_iterator ib,
00102                        HepMC::GenVertex::particle_iterator ie);
00103   std::string m_selectorName;
00105   HepMC_helper::MCselectorWrapper* m_mcSelector;
00106   //-------------------------------
00107   // Protected methods
00108   //-------------------------------
00109 
00110 
00111 };
00112 
00113 
00114 }  //end of namespace bracket
00115 
00116 #endif
00117 
00118 
00119 
00120 
00121 
00122 
00123 
00124 
00125 
00126 
00127 
00128 
00129 

Generated on Wed Jan 23 12:58:31 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001