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.
EvtStdHep.hh
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 
21 #ifndef EVTSTDHEP_HH
22 #define EVTSTDHEP_HH
23 
25 
26 #include <iosfwd>
27 
28 const int EVTSTDHEPLENGTH = 1000;
29 
30 class EvtStdHep {
31  public:
32  EvtStdHep() {}
34 
35  void init();
36 
37  int getFirstMother( int i ) { return _prntfirst[i]; }
38  int getLastMother( int i ) { return _prntlast[i]; }
39  int getFirstDaughter( int i ) { return _daugfirst[i]; }
40  int getLastDaughter( int i ) { return _dauglast[i]; }
41 
42  int getStdHepID( int i ) { return _id[i]; }
43  int getIStat( int i ) { return _istat[i]; }
44 
45  EvtVector4R getP4( int i ) { return _p4[i]; }
46  EvtVector4R getX4( int i ) { return _x[i]; }
47 
48  void translate( EvtVector4R d );
49 
50  int getNPart();
51  void createParticle( EvtVector4R p4, EvtVector4R x, int prntfirst,
52  int prntlast, int id );
53 
54  friend std::ostream& operator<<( std::ostream& s, const EvtStdHep& stdhep );
55 
56  private:
57  int _npart;
66 };
67 
68 #endif
EvtVector4R getP4(int i)
Definition: EvtStdHep.hh:45
int _prntlast[EVTSTDHEPLENGTH]
Definition: EvtStdHep.hh:61
int _dauglast[EVTSTDHEPLENGTH]
Definition: EvtStdHep.hh:63
int _id[EVTSTDHEPLENGTH]
Definition: EvtStdHep.hh:64
void createParticle(EvtVector4R p4, EvtVector4R x, int prntfirst, int prntlast, int id)
Definition: EvtStdHep.cpp:40
int getLastMother(int i)
Definition: EvtStdHep.hh:38
~EvtStdHep()
Definition: EvtStdHep.hh:33
int getNPart()
Definition: EvtStdHep.cpp:35
int getStdHepID(int i)
Definition: EvtStdHep.hh:42
void translate(EvtVector4R d)
Definition: EvtStdHep.cpp:68
EvtVector4R _p4[EVTSTDHEPLENGTH]
Definition: EvtStdHep.hh:58
int _daugfirst[EVTSTDHEPLENGTH]
Definition: EvtStdHep.hh:62
void init()
Definition: EvtStdHep.cpp:30
int getIStat(int i)
Definition: EvtStdHep.hh:43
friend std::ostream & operator<<(std::ostream &s, const EvtStdHep &stdhep)
int _istat[EVTSTDHEPLENGTH]
Definition: EvtStdHep.hh:65
int _npart
Definition: EvtStdHep.hh:57
EvtVector4R getX4(int i)
Definition: EvtStdHep.hh:46
int getFirstMother(int i)
Definition: EvtStdHep.hh:37
int _prntfirst[EVTSTDHEPLENGTH]
Definition: EvtStdHep.hh:60
EvtVector4R _x[EVTSTDHEPLENGTH]
Definition: EvtStdHep.hh:59
int getFirstDaughter(int i)
Definition: EvtStdHep.hh:39
const int EVTSTDHEPLENGTH
Definition: EvtStdHep.hh:28
int getLastDaughter(int i)
Definition: EvtStdHep.hh:40