evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtDecayParm.cpp
Go to the documentation of this file.
1 
2 /***********************************************************************
3 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4 * *
5 * This file is part of EvtGen. *
6 * *
7 * EvtGen is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * EvtGen is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19 ***********************************************************************/
20 
22 
23 #include "EvtGenBase/EvtPatches.hh"
24 
25 #include <ctype.h>
26 #include <fstream>
27 #include <iostream>
28 #include <stdlib.h>
29 #include <string>
30 using std::fstream;
31 
32 void EvtDecayParm::init( fcnPtr pfcn, int ndaug, int* daugs, int narg,
33  double* args, std::string name )
34 {
35  int i;
36 
37  itsfcn = pfcn;
38  itsndaug = ndaug;
39  itsnarg = narg;
40 
41  itsdaugs = new int[itsndaug];
42  for ( i = 0; i < itsndaug; i++ ) {
43  itsdaugs[i] = daugs[i];
44  }
45  itsargs = new double[itsnarg];
46  for ( i = 0; i < itsnarg; i++ ) {
47  itsargs[i] = args[i];
48  }
49  modelname = name;
50 }
51 
53 {
54  itsfcn = 0;
55  itsndaug = 0;
56  itsnarg = 0;
57  itsdaugs = 0;
58  itsargs = 0;
59 
60  modelname = "**********";
61 }
62 
64 {
65  if ( itsdaugs != 0 ) {
66  delete[] itsdaugs;
67  }
68 
69  if ( itsargs != 0 ) {
70  delete[] itsargs;
71  }
72 }
std::string modelname
Definition: EvtDecayParm.hh:53
void(* fcnPtr)(EvtParticle *, int, int *, double *)
Definition: EvtDecayParm.hh:30
double * itsargs
Definition: EvtDecayParm.hh:52
void init(fcnPtr pfcn, int ndaug, int *daugs, int narg, double *args, std::string name)