00001 #ifndef RIVET_Rivet_HH
00002 #define RIVET_Rivet_HH
00003
00004 #include "Rivet/Config/RivetConfig.hh"
00005 #include "Rivet/Config/BuildOptions.hh"
00006
00007
00008 #include "Rivet/RivetSTL.hh"
00009
00010
00011 #ifdef UNUSED
00012 #elif defined(__GNUC__)
00013 # define UNUSED(x) UNUSED_ ## x __attribute__((unused))
00014 #elif defined(__LCLINT__)
00015 # define UNUSED(x) x
00016 #else
00017 # define UNUSED(x) x
00018 #endif
00019
00020
00021 namespace Rivet {
00022
00023
00024 static const double MAXRAPIDITY = 100000.0;
00025
00026 static const double MaxRapidity = 100000.0;
00027
00028
00029 string version();
00030
00031 }
00032
00033
00034
00035 #include "Rivet/RivetAIDA.fhh"
00036
00037
00038 #include "Rivet/RivetHepMC.hh"
00039
00040
00041 #include "Rivet/Exceptions.hh"
00042 #include "Rivet/Math/MathUtils.hh"
00043 #include "Rivet/Math/Vectors.hh"
00044 #include "Rivet/Math/Matrices.hh"
00045 #include "Rivet/Math/Units.hh"
00046 #include "Rivet/Tools/Utils.hh"
00047 #include "Rivet/Tools/RivetPaths.hh"
00048
00049 #include "Rivet/ParticleName.hh"
00050 #include "Rivet/Particle.hh"
00051
00052
00053 namespace Rivet {
00054
00055
00056
00057 template<typename T>
00058 inline std::ostream& operator<<(std::ostream& os, const std::vector<T>& vec) {
00059 os << "[ ";
00060 for (size_t i=0; i<vec.size(); ++i) {
00061 os << vec[i] << " ";
00062 }
00063 os << "]";
00064 return os;
00065 }
00066
00067
00068
00069 template<typename T>
00070 inline std::ostream& operator<<(std::ostream& os, const std::list<T>& vec) {
00071 os << "[ ";
00072 for (size_t i=0; i<vec.size(); ++i) {
00073 os << vec[i] << " ";
00074 }
00075 os << "]";
00076 return os;
00077 }
00078
00079
00080 }
00081
00082 #endif