Pluto v6.3.0
Loading...
Searching...
No Matches
PHadronDecayM2Mesh.h
Go to the documentation of this file.
1// Author: I. Froehlich
2// Written: 19.08.2026
3// Revised:
4
5#ifndef _PHADRONDECAYM2MESH_H_
6#define _PHADRONDECAYM2MESH_H_
7
8#include "TF1.h"
9#include "TF2.h"
10#include "PHadronDecayM2.h"
11#include "PDynamicData.h"
12#include "PKinematics.h"
13
15
16 public:
18 PHadronDecayM2Mesh(const Char_t *id, const Char_t *de, Int_t key);
19 PDistribution *Clone(const char *delme=NULL) const;
20
21 Bool_t Init(void);
22 Bool_t Prepare(void);
23 void SubPrint(Int_t opt) const;
24 int GetDepth(int i=0);
25
26 protected:
27
28 //Generated by Gemini:
29 static const int N_ECM = 100; // Number of ECM energy slices
30 static const int N1 = 20; // m1 resolution per slice
31 static const int N2 = 20; // m2 resolution per slice
32 static const int MAX_CELLS = N1 * N2;
33
34 Double_t ecm_grid_min;
35 Double_t ecm_grid_max;
36 Double_t ecm_step;
37
38 // Cache arrays for each ECM slice
40 Double_t cell_ceiling[N_ECM][N1][N2];
46
48 void calculateSlice(int slice_idx, double ecm_slice);
49 //End generated by Gemini
50
51
52 bool sampleM2(const double &ecm);
53
54 ClassDef(PHadronDecayM2Mesh, 0) // Hadron decay in 2 unstable products using meshes
55};
56
57#endif
58
59
static const int N2
static const int N1
PDistribution * Clone(const char *delme=NULL) const
Int_t valid_cells_cnt[N_ECM]
static const int MAX_CELLS
int GetDepth(int i=0)
Bool_t is_calculated[N_ECM]
static const int N_ECM
void calculateSlice(int slice_idx, double ecm_slice)
Int_t cell_j[N_ECM][MAX_CELLS]
PHadronDecayM2Mesh(const Char_t *id, const Char_t *de, Int_t key)
Bool_t Prepare(void)
bool sampleM2(const double &ecm)
Int_t cell_i[N_ECM][MAX_CELLS]
Double_t total_weight_sum[N_ECM]
Double_t cell_ceiling[N_ECM][N1][N2]
Bool_t Init(void)
void SubPrint(Int_t opt) const
Double_t cell_cum_weight[N_ECM][MAX_CELLS]