Belle II Software development
EvtGenDatabasePDG.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <framework/particledb/EvtGenParticlePDG.h>
12#include <TDatabasePDG.h>
13#include <iosfwd>
14
15namespace Belle2 {
21 class EvtGenDatabasePDG : public TDatabasePDG {
22 public:
26 void ReadEvtGenTable(const char* filename = nullptr);
28 void WriteEvtGenTable(std::ostream& out);
30 void WriteEvtGenTable(const char* filename);
32 TParticlePDG* AddParticle(const char* name, const char* title, Double_t mass, Bool_t stable, Double_t width,
33 Double_t charge, const char* ParticleClass, Int_t PDGcode, Int_t Anti, Int_t TrackingCode) override
34 {
35 return AddParticle(name, title, mass, stable, width, charge, ParticleClass, PDGcode, Anti, TrackingCode, 0, 0, 0, 0);
36 }
38 EvtGenParticlePDG* AddParticle(const char* name, const char* title, Double_t mass, Bool_t stable, Double_t width,
39 Double_t charge, const char* ParticleClass, Int_t PDGcode, Int_t Anti, Int_t TrackingCode,
40 Double_t Lifetime, Double_t Spin, Double_t maxWidth, Int_t pythiaID);
41
42 private:
49
51 };
53} //Belle2 namespace
Replacement for TDatabasePDG that is filled from EvtGen's evt.pdl.
static EvtGenDatabasePDG * Instance()
Instance method that loads the EvtGen table.
EvtGenDatabasePDG(const EvtGenDatabasePDG &)=delete
singleton, make sure there's no copy constructor
EvtGenDatabasePDG & operator=(const EvtGenDatabasePDG &)=delete
singleton, make sure there's no assignment operator
void WriteEvtGenTable(std::ostream &out)
Write current database as EvtGen table to a stream.
ClassDefOverride(EvtGenDatabasePDG, 1)
Replacement for TDatabasePDG that is filled from EvtGen's evt.pdl.
void ReadEvtGenTable(const char *filename=nullptr)
Read EvtGen table.
TParticlePDG * AddParticle(const char *name, const char *title, Double_t mass, Bool_t stable, Double_t width, Double_t charge, const char *ParticleClass, Int_t PDGcode, Int_t Anti, Int_t TrackingCode) override
override old AddParticle
Helper class for setting additional TParticlePDG members and storing the ones it doesn't have yet.
Abstract base class for different kinds of events.