herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
Zrapidity.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_Zrapidity_H
00003 #define HERWIG_Zrapidity_H
00004 //
00005 // This is the declaration of the Zrapidity class.
00006 //
00007 #include "ThePEG/Repository/CurrentGenerator.h"
00008 #include "ThePEG/Repository/EventGenerator.h"
00009 #include "ThePEG/Handlers/AnalysisHandler.h"
00010 #include "Herwig++/Utilities/Histogram.h"
00011 
00012 
00013 namespace Herwig {
00014   
00015   using namespace ThePEG;
00022   class Zrapidity: public AnalysisHandler {
00023     
00024   public:
00025 
00031     inline Zrapidity() {} 
00032    
00033     
00034   public:
00035     
00055     virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00056     
00057 
00058   public:
00059     
00066     void persistentOutput(PersistentOStream & os) const;
00067     
00073     void persistentInput(PersistentIStream & is, int version);
00075 
00082     static void Init();
00083     
00088     virtual void doinitrun();
00089     
00094     virtual void dofinish();
00095     
00096   protected:
00097     
00104   inline virtual IBPtr clone() const;
00105     
00110     inline virtual IBPtr fullclone() const;
00112     
00113     
00114     // If needed, insert declarations of virtual function defined in the
00115     // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
00116     
00117     
00118   private:
00119 
00123     HistogramPtr _hy;
00124 
00129     static ClassDescription<Zrapidity> initZrapidity;
00130     
00135     Zrapidity & operator=(const Zrapidity &);
00136     
00137   };
00138   
00139 }
00140 
00141 #include "ThePEG/Utilities/ClassTraits.h"
00142 
00143 namespace ThePEG {
00144   
00149   template <>
00150  struct BaseClassTrait<Herwig::Zrapidity,1> {
00152     typedef AnalysisHandler NthBase;
00153   };
00154 
00157   template <>
00158   struct ClassTraits<Herwig::Zrapidity>
00159     : public ClassTraitsBase<Herwig::Zrapidity> {
00161     static string className() { return "Herwig::Zrapidity"; }
00169     static string library() { return "HwTevatronAnalysis.so"; }
00170   };
00171   
00174 }
00175 
00176 #endif /* HERWIG_Zrapidity_H */
00177 
00178