Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 00003 // (C) 2007-2009 Simon Plaetzer -- sp@particle.uni-karlsruhe.de 00004 00005 #ifndef Analysis2_YMerge_H 00006 #define Analysis2_YMerge_H 00007 // 00008 // This is the declaration of the YMerge class. 00009 // 00010 00011 #include "Analysis2Base.h" 00012 #include "YMerge.fh" 00013 00014 namespace Analysis2 { 00015 00016 using namespace ThePEG; 00017 00028 class YMerge: public Analysis2Base { 00029 00030 public: 00031 00037 inline YMerge(); 00038 00042 virtual ~YMerge(); 00044 00045 public: 00046 00052 virtual void analyze(const tPVector & particles); 00053 00057 string Y (string); 00058 00059 public: 00060 00067 void persistentOutput(PersistentOStream & os) const; 00068 00074 void persistentInput(PersistentIStream & is, int version); 00076 00083 static void Init(); 00084 00085 protected: 00086 00093 inline virtual IBPtr clone() const; 00094 00099 inline virtual IBPtr fullclone() const; 00101 00102 00103 // If needed, insert declarations of virtual function defined in the 00104 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs). 00105 00106 protected: 00107 00115 virtual void doinit() throw(InitException); 00116 00121 virtual void dofinish(); 00122 00124 00125 private: 00126 00132 unsigned int _nMax; 00133 00139 vector<string> _options; 00140 00144 vector<string> _yn; 00145 00150 static ClassDescription<YMerge> initYMerge; 00151 00156 YMerge & operator=(const YMerge &); 00157 00158 }; 00159 00160 } 00161 00162 #include "ThePEG/Utilities/ClassTraits.h" 00163 00164 namespace ThePEG { 00165 00170 template <> 00171 struct BaseClassTrait<Analysis2::YMerge,1> { 00173 typedef Analysis2::Analysis2Base NthBase; 00174 }; 00175 00178 template <> 00179 struct ClassTraits<Analysis2::YMerge> 00180 : public ClassTraitsBase<Analysis2::YMerge> { 00182 static string className() { return "Analysis2::YMerge"; } 00190 static string library() { return "Analysis2.so"; } 00191 }; 00192 00195 } 00196 00197 #include "YMerge.icc" 00198 #ifndef ThePEG_TEMPLATES_IN_CC_FILE 00199 // #include "YMerge.tcc" 00200 #endif 00201 00202 #endif /* Analysis2_YMerge_H */