]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TUHKMgen/UHKM/InitialState.h
Fixing some warnings
[u/mrichter/AliRoot.git] / TUHKMgen / UHKM / InitialState.h
CommitLineData
b1c2e580 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 Updated : 2008/08/11
6*/
7
8#ifndef INITIAL_STATE
9#define INITIAL_STATE
10// Virtual class for the initial state classes
11// Include here common methods, but always declare them as virtual
12#ifndef PARTICLE_INCLUDED
13#include "Particle.h"
14#endif
15#ifndef DATABASE_PDG
16#include "DatabasePDG.h"
17#endif
18
19class InitialState {
b1c2e580 20 public:
21 InitialState() : fDatabase(new DatabasePDG()) {};
22 virtual ~InitialState() {
23 if(fDatabase)
24 delete fDatabase;
25 };
26
27 virtual void SetPDGParticleFilename(Char_t *filename) {fDatabase->SetParticleFilename(filename);}
28 virtual void SetPDGDecayFilename(Char_t *filename) {fDatabase->SetDecayFilename(filename);}
29 virtual void SetUseCharmParticles(Bool_t flag) {fDatabase->SetUseCharmParticles(flag);}
30 virtual void SetMinimumWidth(Double_t value) {fDatabase->SetMinimumWidth(value);}
31 virtual void SetMaximumWidth(Double_t value) {fDatabase->SetMaximumWidth(value);}
32 virtual void SetMinimumMass(Double_t value) {fDatabase->SetMinimumMass(value);}
33 virtual void SetMaximumMass(Double_t value) {fDatabase->SetMaximumMass(value);}
34 virtual void SetWidthRange(Double_t min, Double_t max) {fDatabase->SetWidthRange(min, max);}
35 virtual void SetMassRange(Double_t min, Double_t max) {fDatabase->SetMassRange(min, max);}
36 virtual void LoadPDGInfo() {fDatabase->LoadData();}
37 virtual void SetPDGParticleStable(Int_t pdg, Bool_t value) {fDatabase->SetStable(pdg, value);}
38 virtual Bool_t GetPDGParticleStableStatus(Int_t pdg) {return fDatabase->GetStableStatus(pdg);}
39 virtual Bool_t GetUseCharmParticles() {return fDatabase->GetUseCharmParticles();}
40 virtual Double_t GetMinimumWidth() {return fDatabase->GetMinimumWidth();}
41 virtual Double_t GetMaximumWidth() {return fDatabase->GetMaximumWidth();}
42 virtual Double_t GetMinimumMass() {return fDatabase->GetMinimumMass();}
43 virtual Double_t GetMaximumMass() {return fDatabase->GetMaximumMass();}
44
45 virtual DatabasePDG* PDGInfo() const {return fDatabase;}
46
47 virtual void Initialize(List_t &source, ParticleAllocator &allocator) = 0;
48 virtual Bool_t ReadParams() = 0;
49 virtual Bool_t MultIni() = 0;
50 virtual Double_t GetTime() = 0;
51 virtual Int_t GetNev() = 0;
52 virtual Double_t GetWeakDecayLimit() = 0;
53
54 virtual void Evolve(List_t &source, List_t &secondaries, ParticleAllocator &allocator, Double_t weakDecayLimit);
786056a2 55 protected:
56 DatabasePDG *fDatabase;
57 private:
58 InitialState(const InitialState&);
59 InitialState& operator=(const InitialState&);
b1c2e580 60};
61
62#endif