This file is indexed.

/usr/include/HepMC/IO_AsciiParticles.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
103
//--------------------------------------------------------------------------
#ifndef HEPMC_IO_ASCIIPARTICLES_H
#define HEPMC_IO_ASCIIPARTICLES_H

//////////////////////////////////////////////////////////////////////////
// Mikhail.Kirsanov@Cern.CH, 2006
// event input/output in ascii format for eye and machine reading
//////////////////////////////////////////////////////////////////////////
//
// Strategy for reading or writing events as machine readable
//  ascii to a file. When instantiating, the mode of file to be created 
//  must be specified. Options are:
//      std::ios::in     open file for input 
//      std::ios::out    open file for output
//      std::ios::trunc  erase old file when opening (i.e. ios::out|ios::trunc
//                    removes oldfile, and creates a new one for output )
//      std::ios::app    append output to end of file
//  for the purposes of this class, simultaneous input and output mode 
//  ( std::ios::in | std::ios::out ) is not allowed.
// 
// Event listings are preceded by the key:
//  "HepMC::IO_AsciiParticles-START_EVENT_LISTING\n"
//  and terminated by the key:
//  "HepMC::IO_AsciiParticles-END_EVENT_LISTING\n"
// Comments are allowed. They need not be preceded by anything, though if
//  a comment is written using write_comment( const string ) then it will be
//  preceded by "HepMC::IO_AsciiParticles-COMMENT\n"
// Each event, vertex, particle, particle data is preceded by 
//  "E ","V ","P ","D "    respectively.
// Comments may appear anywhere in the file -- so long as they do not contain
//  any of the 4 start/stop keys.
//

#include <fstream>
#include <string>
#include <map>
#include <vector>
#include "HepMC/IO_BaseClass.h"

namespace HepMC {

    class GenEvent;
    class GenVertex;
    class GenParticle;

    //! event input/output in ascii format for eye and machine reading

    ///
    /// \class IO_AsciiParticles
    /// Strategy for reading or writing events as machine readable
    ///  ascii to a file. When instantiating, the mode of file to be created 
    ///  must be specified. 
    ///
    class IO_AsciiParticles : public IO_BaseClass {
    public:
        /// constructor requiring a file name and std::ios mode
	IO_AsciiParticles( const char* filename="IO_AsciiParticles.dat", 
		  std::ios::openmode mode=std::ios::out );
	virtual       ~IO_AsciiParticles();

        /// write this event
  	void          write_event( const GenEvent* evt );
        /// get the next event
	bool          fill_next_event( GenEvent* evt );
	/// insert a comment directly into the output file --- normally you
	///  only want to do this at the beginning or end of the file. All
	///  comments are preceded with "HepMC::IO_AsciiParticles-COMMENT\n"
  	void          write_comment( const std::string comment );

        /// set output precision
        void          setPrecision(int iprec);

	int           rdstate() const;  //!< check the state of the IO stream
	void          clear();  //!< clear the IO stream

        /// write to ostr
	void          print( std::ostream& ostr = std::cout ) const;

    protected: // for internal use only
	/// write end tag
	bool          write_end_listing();
    private: // use of copy constructor is not allowed
	IO_AsciiParticles( const IO_AsciiParticles& ) : IO_BaseClass() {}
    private: // data members
    int                 m_precision;
	std::ios::openmode  m_mode;
	std::fstream*       m_file;
    std::ostream*       m_outstream;
	bool                m_finished_first_event_io;
    };

    //////////////
    // Inlines  //
    //////////////

    inline int  IO_AsciiParticles::rdstate() const { return (int)m_file->rdstate(); }
    inline void IO_AsciiParticles::clear() { m_file->clear(); }
    inline void IO_AsciiParticles::setPrecision(int iprec) { m_precision=iprec; }

} // HepMC

#endif  // HEPMC_IO_ASCIIPARTICLES_H
//--------------------------------------------------------------------------