Pluto v6.3.0
Loading...
Searching...
No Matches
PHadronDecayM1N.h
Go to the documentation of this file.
1// Author: I. Froehlich
2// Written: 22.01.2010
3// Revised:
4
5#ifndef _PHADRONDECAYM1N_H_
6#define _PHADRONDECAYM1N_H_
7
8#include "TF1.h"
9#include "TF2.h"
10#include "TGenPhaseSpace.h"
11#include "PChannelModel.h"
12#include "PDynamicData.h"
13#include "PKinematics.h"
14#include "PMesh.h"
15
16
17#define M1N_MAX_DAUGHTERS 10
18#define M1N_PARENT_GRID 0.1
19
21
22 public:
24 PHadronDecayM1N(const Char_t *id, const Char_t *de, Int_t key);
25 PDistribution *Clone(const char *delme=NULL) const;
26
27
28 Bool_t Prepare(void);
29 Bool_t Init(void);
30 Bool_t SampleMass(void);
32
33 int GetDepth(int i=0);
34
35 Double_t Eval(Double_t x, Double_t y = 0, Double_t z = 0, Double_t t = 0) const;
36 Double_t EvalPar(const Double_t *x, const Double_t *params);
37 //TF1 wrapper
38
39 void SubPrint(Int_t opt) const ; //Print sub-models
40
41 protected:
42
43 //int didx1,didx2,didx3;
47
53
55 TGenPhaseSpace *event;
56
57 void UpdateMesh(void);
58 Int_t maxmesh;
59
60 ClassDef(PHadronDecayM1N, 0) // Decay of Hadron -> 1 unstable + N stable
61};
62
63#endif
64
65
#define M1N_MAX_DAUGHTERS
virtual Bool_t SampleMass(Double_t *mass, Int_t *didx=NULL)
int GetDepth(int i=0)
Bool_t SampleMass(void)
Double_t unstable_width
PHadronDecayM1N(const Char_t *id, const Char_t *de, Int_t key)
Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const
PParticle * unstable_particle
void SubPrint(Int_t opt) const
void UpdateMesh(void)
PDistribution * Clone(const char *delme=NULL) const
Double_t EvalPar(const Double_t *x, const Double_t *params)
Bool_t Init(void)
PParticle * parent
Double_t old_parent_mass
Int_t daughter_didx[M1N_MAX_DAUGHTERS]
Int_t daughter_id[M1N_MAX_DAUGHTERS]
PParticle * daughters[M1N_MAX_DAUGHTERS]
PChannelModel * unstable_model
TGenPhaseSpace * event
Double_t daughter_masses[M1N_MAX_DAUGHTERS]
Bool_t Prepare(void)
Definition PMesh.h:13