Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:01:14

0001 // -*- C++ -*-
0002 //
0003 // This file is part of HepMC
0004 // Copyright (C) 2014-2023 The HepMC collaboration (see AUTHORS for details)
0005 //
0006 #ifndef HEPMC3_PRINTSTREAMS_H
0007 #define HEPMC3_PRINTSTREAMS_H
0008 ///
0009 /// @file PrintStreams.h
0010 /// @brief Implementation of ostreams for the objects
0011 ///
0012 
0013 #include "HepMC3/GenEvent.h"
0014 #include "HepMC3/GenVertex.h"
0015 #include "HepMC3/GenParticle.h"
0016 #include "HepMC3/Print.h"
0017 
0018 namespace HepMC3 {
0019 /// @brief Print content of all GenEvent containers with idiomatic C++ printing.
0020 /// @note More generic printing methods from HepMC3::Print should be preffered
0021 inline std::ostream& operator<<(std::ostream& os, const GenEvent &event) { Print::content(os,event); return os; }
0022 
0023 /// @brief Print one-line info with idiomatic C++ printing
0024 /// @note More generic printing methods from HepMC3::Print should be preffered
0025 inline std::ostream& operator<<(std::ostream& os,  ConstGenVertexPtr v) { Print::line(os,v); return os; }
0026 
0027 /// @brief Print one-line info with idiomatic C++ printing
0028 /// @note More generic printing methods from HepMC3::Print should be preffered
0029 inline std::ostream& operator<<(std::ostream& os,  ConstGenParticlePtr p) { Print::line(os,p); return os; }
0030 
0031 /// @brief Print one-line info with idiomatic C++ printing
0032 /// @note More generic printing methods from HepMC3::Print should be preffered
0033 inline std::ostream& operator<<(std::ostream& os, std::shared_ptr<GenCrossSection> &cs) { Print::line(os,cs); return os; }
0034 
0035 /// @brief Print one-line info with idiomatic C++ printing
0036 /// @note More generic printing methods from HepMC3::Print should be preffered
0037 inline std::ostream& operator<<(std::ostream& os, std::shared_ptr<GenHeavyIon> &hi) { Print::line(os,hi); return os; }
0038 
0039 /// @brief Print one-line info  with idiomatic C++ printing
0040 /// @note More generic printing methods from HepMC3::Print should be preffered
0041 inline std::ostream& operator<<(std::ostream& os, std::shared_ptr<GenPdfInfo> &pi) { Print::line(os,pi); return os; }
0042 
0043 /// @brief Print one-line info  with idiomatic C++ printing
0044 /// @note More generic printing methods from HepMC3::Print should be preffered
0045 inline std::ostream& operator<<(std::ostream& os, const FourVector& p) { Print::line(os,p); return os; }
0046 
0047 /// @brief Print one-line info  with idiomatic C++ printing
0048 /// @note More generic printing methods from HepMC3::Print should be preffered
0049 inline std::ostream& operator<<(std::ostream& os, const GenRunInfo::ToolInfo& t) { Print::line(os,t); return os; }
0050 
0051 /// @brief Print one-line info  with idiomatic C++ printing
0052 /// @note More generic printing methods from HepMC3::Print should be preffered
0053 inline std::ostream& operator<<(std::ostream& os,const GenRunInfo &ri) { Print::line(os,ri); return os; }
0054 
0055 
0056 
0057 } // namespace HepMC3
0058 
0059 #endif