Rivet.hh
Go to the documentation of this file.
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 // Bring selected STL classes into the Rivet namespace 00008 #include "Rivet/RivetSTL.hh" 00009 00010 // Macro to help with overzealous compiler warnings 00011 #ifdef UNUSED 00012 #elif defined(__GNUC__) 00013 # define UNUSED(x) UNUSED_ ## x __attribute__((unused)) 00014 #elif defined(__LCLINT__) 00015 # define UNUSED(x) /*@unused@*/ x 00016 #else 00017 # define UNUSED(x) x 00018 #endif 00019 00020 00021 namespace Rivet { 00022 00023 /// A sensible default maximum value of rapidity for Rivet analyses to use. 00024 static const double MAXRAPIDITY = 100000.0; 00025 00026 /// A function to get the Rivet version string 00027 string version(); 00028 00029 } 00030 00031 00032 // AIDA headers 00033 #include "Rivet/RivetYODA.fhh" 00034 00035 // HepMC headers and helper functions 00036 #include "Rivet/RivetHepMC.hh" 00037 00038 // Now import some Rivet classes 00039 #include "Rivet/Exceptions.hh" 00040 #include "Rivet/Math/MathUtils.hh" 00041 #include "Rivet/Math/Vectors.hh" 00042 #include "Rivet/Math/Matrices.hh" 00043 #include "Rivet/Math/Units.hh" 00044 #include "Rivet/Tools/Utils.hh" 00045 #include "Rivet/Tools/RivetPaths.hh" 00046 00047 #include "Rivet/ParticleName.hh" 00048 #include "Rivet/Particle.hh" 00049 00050 00051 namespace Rivet { 00052 00053 00054 /// Convenient function for streaming out vectors of any streamable object. 00055 template<typename T> 00056 inline std::ostream& operator<<(std::ostream& os, const std::vector<T>& vec) { 00057 os << "[ "; 00058 for (size_t i=0; i<vec.size(); ++i) { 00059 os << vec[i] << " "; 00060 } 00061 os << "]"; 00062 return os; 00063 } 00064 00065 00066 /// Convenient function for streaming out lists of any streamable object. 00067 template<typename T> 00068 inline std::ostream& operator<<(std::ostream& os, const std::list<T>& vec) { 00069 os << "[ "; 00070 for (size_t i=0; i<vec.size(); ++i) { 00071 os << vec[i] << " "; 00072 } 00073 os << "]"; 00074 return os; 00075 } 00076 00077 00078 } 00079 00080 #endif Generated on Fri Dec 21 2012 15:03:42 for The Rivet MC analysis system by ![]() |