ThePEG  1.8.0
CKMBase.h
1 // -*- C++ -*-
2 //
3 // CKMBase.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_CKMBase_H
10 #define ThePEG_CKMBase_H
11 // This is the declaration of the CKMBase class.
12 
13 #include "ThePEG/Interface/Interfaced.h"
14 #include "StandardModelBase.fh"
15 
16 namespace ThePEG {
17 
27 class CKMBase: public Interfaced {
28 
29 public:
30 
36  virtual vector< vector<double> > getMatrix(unsigned int nf) const = 0;
37 
38 public:
39 
43  static void Init();
44 
45 private:
46 
51 
55  CKMBase & operator=(const CKMBase &);
56 
57 };
58 
63 template <>
64 struct BaseClassTrait<CKMBase,1>: public ClassTraitsType {
66  typedef Interfaced NthBase;
67 };
68 
71 template <>
72 struct ClassTraits<CKMBase>: public ClassTraitsBase<CKMBase> {
74  static string className() { return "ThePEG::CKMBase"; }
75 };
76 
79 }
80 
81 #endif /* ThePEG_CKMBase_H */