herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
YMerge.h
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 */