CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
InitialState.h
Go to the documentation of this file.
1 /*
2  Ludmila Malinina malinina@lav01.sinp.msu.ru, SINP MSU/Moscow and JINR/Dubna
3  Ionut Arsene i.c.arsene@fys.uio.no, Oslo University and ISS-Bucharest
4  Date : 2007/05/30
5 */
6 
7 #ifndef INITIALSTATE
8 #define INITIALSTATE
9 // Virtual class for the initial state classes
10 // Include here common methods, but always declare them as virtual
11 #include "Particle.h"
12 #include "DatabasePDG.h"
13 
14 class InitialState {
15 protected:
17 
18 public:
20  fDatabase = new DatabasePDG();
22  fDatabase->SetMassRange(0.0, 200.);
23  fDatabase->SetWidthRange(0., 10.);
24  };
25  virtual ~InitialState() noexcept(false) { delete fDatabase; };
26 
27  virtual bool RunDecays() = 0;
28  virtual double GetWeakDecayLimit() = 0;
29 
30  virtual void Evolve(List_t &secondaries, ParticleAllocator &allocator, double weakDecayLimit);
31 };
32 
33 #endif
virtual bool RunDecays()=0
void SetMassRange(double min, double max)
Definition: DatabasePDG.cc:527
virtual ~InitialState() noexcept(false)
Definition: InitialState.h:25
std::list< Particle > List_t
Definition: Particle.h:174
virtual void Evolve(List_t &secondaries, ParticleAllocator &allocator, double weakDecayLimit)
Definition: InitialState.cc:13
bool LoadData()
Definition: DatabasePDG.cc:61
void SetWidthRange(double min, double max)
Definition: DatabasePDG.cc:480
DatabasePDG * fDatabase
Definition: InitialState.h:16
virtual double GetWeakDecayLimit()=0