CMS 3D CMS Logo

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  public:
19  fDatabase = new DatabasePDG();
20  fDatabase->LoadData();
21  fDatabase->SetMassRange(0.0, 200.);
22  fDatabase->SetWidthRange(0., 10.);
23  };
24  virtual ~InitialState() {
25  delete fDatabase;
26  };
27 
28  virtual bool RunDecays() = 0;
29  virtual double GetWeakDecayLimit() = 0;
30 
31  virtual void Evolve(List_t &secondaries, ParticleAllocator &allocator, double weakDecayLimit);
32 };
33 
34 #endif
virtual bool RunDecays()=0
void SetMassRange(double min, double max)
Definition: DatabasePDG.cc:514
std::list< Particle > List_t
Definition: Particle.h:141
virtual void Evolve(List_t &secondaries, ParticleAllocator &allocator, double weakDecayLimit)
Definition: InitialState.cc:13
bool LoadData()
Definition: DatabasePDG.cc:66
void SetWidthRange(double min, double max)
Definition: DatabasePDG.cc:464
virtual ~InitialState()
Definition: InitialState.h:24
DatabasePDG * fDatabase
Definition: InitialState.h:16
virtual double GetWeakDecayLimit()=0