|
|
|||
File indexing completed on 2026-08-06 09:20:04
0001 0002 /*********************************************************************** 0003 * Copyright 1998-2021 CERN for the benefit of the EvtGen authors * 0004 * * 0005 * This file is part of EvtGen. * 0006 * * 0007 * EvtGen is free software: you can redistribute it and/or modify * 0008 * it under the terms of the GNU General Public License as published by * 0009 * the Free Software Foundation, either version 3 of the License, or * 0010 * (at your option) any later version. * 0011 * * 0012 * EvtGen is distributed in the hope that it will be useful, * 0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 0015 * GNU General Public License for more details. * 0016 * * 0017 * You should have received a copy of the GNU General Public License * 0018 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. * 0019 ***********************************************************************/ 0020 0021 #ifndef EVTBCLFF_HH 0022 #define EVTBCLFF_HH 0023 0024 #include "EvtGenBase/EvtSemiLeptonicFF.hh" 0025 0026 #include <array> 0027 0028 /** 0029 * BCL Form Factors. 0030 */ 0031 class EvtBCLFF : public EvtSemiLeptonicFF { 0032 public: 0033 /** constructor */ 0034 EvtBCLFF( int numarg, double* arglist ); 0035 0036 /** 0037 * Scalar FF's. Implementation follows arXiv:1509.06938v3. 0038 * 0039 * For the scalar FF, the arglist in the constructor should contain 8 expansion parameters: 0040 * b+_0, b+_1, b+_2, b+_3, b0_0, b0_1, b0_2, b0_3 0041 * 0042 * @param parent 0043 * @param daughter 0044 * @param t Momentum transfer, also called q2. q2 = (p_B - p_M)^2 0045 * @param fpf f_+(q2). 0046 * @param f0f f_0(q2). 0047 */ 0048 void getscalarff( EvtId parent, EvtId daughter, double t, double, 0049 double* fpf, double* f0f ) override; 0050 0051 /** 0052 * Vector FF's. Implementation follows arXiv:1503.05534v3. 0053 * It is assumed that each expansion has three terms (hardcoded). However, this can be easily expanded or 0054 * generalized. It is not done, because this way we can check if the number of arguments in the decay file is the 0055 * correct one. 0056 * 0057 * For the vector FF, the arglist in the constructor should contain 11 expansion parameters: 0058 * A0_1, A0_2, A1_0, A1_1, A1_2, A12_0, A12_1, A12_2, V_0, V_1, V_2 0059 * Nota bene: A0_0 is correlated to A12_0. 0060 * 0061 * @param parent 0062 * @param daughter 0063 * @param t Momentum transfer, also called q2. q2 = (p_B - p_M)^2 0064 * @param a1f A1(q2) 0065 * @param a2f A2(q2) 0066 * @param vf V(q2) 0067 * @param a0f A0(q2) 0068 */ 0069 void getvectorff( EvtId parent, EvtId daughter, double t, double, double* a1f, 0070 double* a2f, double* vf, double* a0f ) override; 0071 0072 /// Not Implemented 0073 void gettensorff( EvtId parent, EvtId daughter, double t, double, 0074 double* hf, double* kf, double* bp, double* bm ) override; 0075 0076 /// Not Implemented 0077 void getbaryonff( EvtId, EvtId, double, double, double*, double*, double*, 0078 double* ) override; 0079 0080 /// Not Implemented 0081 void getdiracff( EvtId, EvtId, double, double, double*, double*, double*, 0082 double*, double*, double* ) override; 0083 0084 /// Not Implemented 0085 void getraritaff( EvtId, EvtId, double, double, double*, double*, double*, 0086 double*, double*, double*, double*, double* ) override; 0087 0088 private: 0089 /// Total number of parameters passed to the model 0090 int m_numBCLFFCoefficients; 0091 /// Parameters passed to the model; BCL expansion coefficients 0092 std::array<double, 19> m_BCLFFCoefficients; 0093 0094 /// Mass of the 0- resonance for the parametrization of the vector FF 0095 static constexpr double m_resonance0Minus{ 5.279 }; // * Unit.GeV 0096 /// Mass of the 1- resonance for the parametrization of the vector FF 0097 static constexpr double m_resonance1Minus{ 5.325 }; // * Unit.GeV 0098 /// Mass of the 1+ resonance for the parametrization of the vector FF 0099 static constexpr double m_resonance1Plus{ 5.724 }; // * Unit.GeV 0100 }; 0101 0102 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|