Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 00003 // (C) 2007-2009 Simon Plaetzer -- sp@particle.uni-karlsruhe.de 00004 00005 #ifndef Analysis2_GnuplotOutput_H 00006 #define Analysis2_GnuplotOutput_H 00007 // 00008 // This is the declaration of the GnuplotOutput class. 00009 // 00010 00011 #include "Analysis2/Histogram2/Histogram2Output.h" 00012 #include "GnuplotOutput.fh" 00013 00014 namespace Analysis2 { 00015 00016 using namespace ThePEG; 00017 00025 class GnuplotOutput: public Histogram2Output { 00026 00027 public: 00028 00034 inline GnuplotOutput(); 00035 00039 inline GnuplotOutput(const GnuplotOutput&); 00040 00044 virtual ~GnuplotOutput(); 00046 00047 public: 00048 00053 virtual void put (Histogram2Ptr, const Histogram2Options&, const string&); 00054 00055 public: 00056 00063 void persistentOutput(PersistentOStream & os) const; 00064 00070 void persistentInput(PersistentIStream & is, int version); 00072 00079 static void Init(); 00080 00081 protected: 00082 00089 inline virtual IBPtr clone() const; 00090 00095 inline virtual IBPtr fullclone() const; 00097 00098 00099 // If needed, insert declarations of virtual function defined in the 00100 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs). 00101 00102 public: 00103 00111 virtual inline void initialize (); 00112 00120 virtual inline void finalize (); 00121 00122 private: 00123 00130 string _subproMult; 00131 00135 unsigned int _allHistos; 00136 00141 bool _ratio; 00142 00147 bool _chi2; 00148 00152 string _gnuplot; 00153 00157 ofstream _TeXfile; 00158 00162 ofstream _makefile; 00163 00167 bool _doneInitialize; 00168 00173 static ClassDescription<GnuplotOutput> initGnuplotOutput; 00174 00179 GnuplotOutput & operator=(const GnuplotOutput &); 00180 00181 }; 00182 00183 } 00184 00185 #include "ThePEG/Utilities/ClassTraits.h" 00186 00187 namespace ThePEG { 00188 00193 template <> 00194 struct BaseClassTrait<Analysis2::GnuplotOutput,1> { 00196 typedef Analysis2::Histogram2Output NthBase; 00197 }; 00198 00201 template <> 00202 struct ClassTraits<Analysis2::GnuplotOutput> 00203 : public ClassTraitsBase<Analysis2::GnuplotOutput> { 00205 static string className() { return "Analysis2::GnuplotOutput"; } 00213 static string library() { return "Analysis2.so"; } 00214 }; 00215 00218 } 00219 00220 #include "GnuplotOutput.icc" 00221 #ifndef ThePEG_TEMPLATES_IN_CC_FILE 00222 // #include "GnuplotOutput.tcc" 00223 #endif 00224 00225 #endif /* Analysis2_GnuplotOutput_H */