Pluto v6.3.0
Loading...
Searching...
No Matches
PBremsstrahlung.h
Go to the documentation of this file.
1// Author: Wuestenfeld/Dohrmann
2// Written: 2.2.2008
3// Revised:
4
5
6#ifndef PBREMSSTRAHLUNG__H
7#define PBREMSSTRAHLUNG__H
8//Class definition
9
10#include "PChannelModel.h"
11#include "PAdaptiveMesh.h"
12#include "TGraph2D.h"
13#include "TGraph.h"
14
15#define BREMS_KAPTARI_KAEMPFER 0
16#define BREMS_SHYAM_MOSEL 1
17
19 public:
20
21 PBremsstrahlung(const Char_t *id, const Char_t *de, Int_t key);
22 PDistribution* Clone(const char *delme=NULL) const;
23
24// Bool_t SampleMass(Double_t *mass, Int_t *didx=NULL);
25 Bool_t Init(void);
27 Bool_t SampleMass(void);
28
30 Double_t GetWeight(void);
31
32 Double_t Eval(Double_t x, Double_t y = 0, Double_t z = 0, Double_t t = 0) const;
33 Double_t EvalPar(const Double_t *x, const Double_t *params);
34 //TF1 wrapper to use GetRandom of ROOT
35
36 void SetSqrtS(Double_t s) {sqrt_s = s;};
37 void SetMode(Char_t mode);
38 void SetAuthor(Int_t a) {author = a;}; //0=KK, 1=SM
39 void SetFunc(TGraph *gr) {graph = gr;}; //overwrites author by handmade array
40 void SetFunc(TGraph2D *gr) {graph2d = gr;}; //overwrites author by handmade array
41
42 //This are variables needed for the standalone Draw()
43 void SetNeutron(Int_t n) {neutron_position = n;};
44 void SetP2E(Double_t s) {p2_energy = s;};
45
46
47 private:
48
49 enum Mode {gNN=0, gDN, cSum, gN1520, FSI, VMD, cFsiVmd};
50 Char_t model;
51
52 Double_t mn, mp;
53 Double_t sqrt_s, threshold;
54 PParticle *dilepton, *parent;
55 PParticle *p1, *p2, *p3, *p4;
56
57 Int_t dilepton_position,neutron_position,author;
58 Double_t p2_energy;
59 PAdaptiveMesh *bin;
60
61 Double_t EvalSM(Double_t x, Double_t y = 0, Double_t z = 0, Double_t t = 0) const;
62
63 Double_t Pol1(Double_t z, Double_t p1, Double_t p2) const;
64 Double_t Pol2(Double_t z, Double_t p1, Double_t p2, Double_t p3) const;
65 //Double_t Pol3(Double_t z, Double_t p1, Double_t p2, Double_t p3, Double_t p4);*/
66 Double_t AGauss(Double_t x, Double_t *par) const;
67 Double_t DLines(Double_t x, Double_t par0, Double_t par1,Double_t par2,Double_t par3) const;
68
69 TGraph *graph;
70 TGraph2D *graph2d;
71
72 ClassDef(PBremsstrahlung, 0) // pn/pp Bremsstrahlung
73
74};
75
76#endif
PParticle * par[11]
PParticle * par2[3]
PDistribution * Clone(const char *delme=NULL) const
void SetAuthor(Int_t a)
void SetP2E(Double_t s)
void SetSqrtS(Double_t s)
Double_t EvalPar(const Double_t *x, const Double_t *params)
void SetNeutron(Int_t n)
void SetFunc(TGraph2D *gr)
Double_t GetWeight(void)
void SetFunc(TGraph *gr)
Bool_t SampleMass(void)
void SetMode(Char_t mode)
PBremsstrahlung(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
virtual Bool_t SampleMass(Double_t *mass, Int_t *didx=NULL)
virtual Double_t GetWeight(Double_t *mass, Int_t *didx=NULL)
PParticle * s
Definition dp_mult.C:25
Int_t n
Definition etap+omeg.C:21