/usr/include/HepMC/StreamHelpers.h is in libhepmc-dev 2.06.09-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | //--------------------------------------------------------------------------
#ifndef HEPMC_STREAM_HELPERS_H
#define HEPMC_STREAM_HELPERS_H
//////////////////////////////////////////////////////////////////////////
// garren@fnal.gov, March 2009
//
// This header contains helper functions used by streaming IO
//////////////////////////////////////////////////////////////////////////
#include <ostream>
#include <istream>
#include "HepMC/GenEvent.h"
#include "HepMC/TempParticleMap.h"
namespace HepMC {
namespace detail {
/// used by IO_GenEvent constructor
std::ostream & establish_output_stream_info( std::ostream & );
/// used by IO_GenEvent constructor
std::istream & establish_input_stream_info( std::istream & );
/// get a GenVertex from ASCII input
/// TempParticleMap is used to track the associations of particles with vertices
std::istream & read_vertex( std::istream &, TempParticleMap &, GenVertex * );
/// get a GenParticle from ASCII input
/// TempParticleMap is used to track the associations of particles with vertices
std::istream & read_particle( std::istream&, TempParticleMap &, GenParticle * );
/// write a double - for internal use by streaming IO
inline std::ostream & output( std::ostream & os, const double& d ) {
if( os ) {
if ( d == 0. ) {
os << ' ' << (int)0;
} else {
os << ' ' << d;
}
}
return os;
}
/// write a float - for internal use by streaming IO
inline std::ostream & output( std::ostream & os, const float& d ) {
if( os ) {
if ( d == 0. ) {
os << ' ' << (int)0;
} else {
os << ' ' << d;
}
}
return os;
}
/// write an int - for internal use by streaming IO
inline std::ostream & output( std::ostream & os, const int& i ) {
if( os ) {
if ( i == 0. ) {
os << ' ' << (int)0;
} else {
os << ' ' << i;
}
}
return os;
}
/// write a long - for internal use by streaming IO
inline std::ostream & output( std::ostream & os, const long& i ) {
if( os ) {
if ( i == 0. ) {
os << ' ' << (int)0;
} else {
os << ' ' << i;
}
}
return os;
}
/// write a single char - for internal use by streaming IO
inline std::ostream & output( std::ostream & os, const char& c ) {
if( os ) {
if ( c ) {
os << c;
} else {
os << ' ' ;
}
}
return os;
}
/// used to read to the end of a bad event
std::istream & find_event_end( std::istream & );
} // detail
} // HepMC
#endif // HEPMC_STREAM_HELPERS_H
//--------------------------------------------------------------------------
|