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 */
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
virtual vector< vector< double > > getMatrix(unsigned int nf) const =0
Return the matrix of squared CKM matrix elements.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
CKMBase & operator=(const CKMBase &)
Private and non-existent assignment operator.
static AbstractNoPIOClassDescription< CKMBase > initCKMBase
Describe an abstract class without persistent data.
Definition: CKMBase.h:50
CKMBase is an abstract base classused by the StandardModelBase to implement the Cabibbo-Kobayashi-Mas...
Definition: CKMBase.h:27
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
static void Init()
Standard Init function used to initialize the interface.
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition: Interfaced.h:38
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156