thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
StandardCKM.h
1// -*- C++ -*-
2//
3// StandardCKM.h is a part of ThePEG - Toolkit for HEP Event Generation
4// Copyright (C) 1999-2019 Leif Lonnblad
5//
6// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8//
9#ifndef ThePEG_StandardCKM_H
10#define ThePEG_StandardCKM_H
11// This is the declaration of the StandardCKM class.
12
13#include "CKMBase.h"
14
15namespace ThePEG {
16
25class StandardCKM: public CKMBase {
26
27public:
28
34 StandardCKM() : theta12(0.222357), theta13(0.0003150),
35 theta23(0.039009), delta(1.35819) {}
37
38public:
39
44 virtual vector< vector<double> > getMatrix(unsigned int nFamilies) const;
45
46public:
47
48
56
62 void persistentInput(PersistentIStream & is, int version);
64
68 static void Init();
69
70protected:
71
78 virtual IBPtr clone() const;
79
84 virtual IBPtr fullclone() const;
86
87
88private:
89
93 double theta12;
94
98 double theta13;
99
103 double theta23;
104
108 double delta;
109
110private:
111
116
120 StandardCKM & operator=(const StandardCKM &) = delete;
121
122};
123
128template <>
131 typedef CKMBase NthBase;
132};
133
137template <>
138struct ClassTraits<StandardCKM>: public ClassTraitsBase<StandardCKM> {
140 static string className() { return "ThePEG::StandardCKM"; }
144 static string library() { return "StandardCKM.so"; }
145};
146
149}
150
151#endif /* ThePEG_StandardCKM_H */
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 a concrete class with persistent data.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
StandardCKM inherits from CKMBase and implements the standard parameterization of the CKM matrix in t...
Definition: StandardCKM.h:25
virtual vector< vector< double > > getMatrix(unsigned int nFamilies) const
Return the matrix of squared CKM matrix elements.
double theta23
The angle.
Definition: StandardCKM.h:103
StandardCKM()
Default constructor.
Definition: StandardCKM.h:34
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
double theta13
The angle.
Definition: StandardCKM.h:98
double theta12
The angle.
Definition: StandardCKM.h:93
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
double delta
The angle describing the phase.
Definition: StandardCKM.h:108
virtual IBPtr clone() const
Make a simple clone of this object.
static void Init()
Standard Init function used to initialize the interface.
StandardCKM & operator=(const StandardCKM &)=delete
Private and non-existent assignment operator.
static ClassDescription< StandardCKM > initStandardCKM
Describe a concrete class with persistent data.
Definition: StandardCKM.h:115
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30