CLHEP/HepMC/ReadHepMC.h

00001 // $Id: ReadHepMC.h,v 1.3 2002/05/20 20:14:09 garren Exp $
00002 // ----------------------------------------------------------------------
00003 //
00004 // ReadHepMC.h
00005 // Author: Lynn Garren
00006 //
00007 // read from an ascii file
00008 // ----------------------------------------------------------------------
00009 #ifndef READHEPMC_H
00010 #define READHEPMC_H
00011 
00012 #include "CLHEP/config/CLHEP.h"
00013 #include "CLHEP/config/iostream.h"
00014 #include <string>
00015 #include <map>
00016 
00017 #include "CLHEP/HepMC/GenEvent.h"
00018 
00019 namespace HepMC  {
00020 
00021 std::string readBlockType    ( std::istream & is );
00022 bool        findBlockType    ( std::istream & is, std::string & type );
00023 GenEvent *  readGenEvent     ( std::istream & is );
00024 GenEvent *  findNextGenEvent ( std::istream & is );
00025 std::string readComment      ( std::istream & is );
00026 
00027   namespace Detail {
00028 
00029      //std::istream & readComment( std::istream & is, std::string & comment );
00030      std::istream & fillEvent( std::istream & is, 
00031                                std::string & evline,
00032                                GenEvent * evt );
00033      void           parseEventLine( std::string & evline, 
00034                                     GenEvent * evt,
00035                                     int & nv, int & sv );
00036      void           parseVertexLine( std::string & evline, 
00037                                      GenVertex * v,
00038                                      int & numOrphan, int & numP );
00039      void           parseParticleLine( std::string & evline, 
00040                                        GenParticle * p,
00041                                        int & dv );
00042 
00043   }     // Detail
00044 
00045 }       // HepMC
00046 
00047 #endif // READHEPMC_H

Class Library for High Energy Physics (version 1.8)