00001
00002
00003
00004
00005
00006
00007
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
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 }
00044
00045 }
00046
00047 #endif // READHEPMC_H