Pluto v6.3.0
Loading...
Searching...
No Matches
PAnyDistribution.h
Go to the documentation of this file.
1// Author: I. Froehlich
2// Written: 12.8.2011
3
4#ifndef _PANYDISTRIBUTION_H_
5#define _PANYDISTRIBUTION_H_
6
7#define ANY_DISTRIBUTION_MAX_DAUGHTERS 8
8
9#include "TF1.h"
10#include "TF2.h"
11#include "TF3.h"
12#include "PDistribution.h"
13#include "PProjector.h"
14
15
17
18 public:
20 PAnyDistribution(const Char_t *id, const Char_t *de);
21 PDistribution *Clone(const char *delme=NULL) const;
22
23 Bool_t Init(void);
24 Bool_t Prepare(void);
25 Bool_t Finalize(void);
26 Bool_t IsNotRejected(void);
27 Bool_t CheckAbort(void);
28
29 Bool_t AddEquation(TH1 *histo, const char *command); //adds an equation + cache for non-uniform distributions
30 Bool_t AddEquation(TH2 *histo, const char *command); //adds an equation + cache for non-uniform distributions
31 Bool_t AddEquation(TH3 *histo, const char *command); //adds an equation + cache for non-uniform distributions
32 Bool_t AddEquation(const char *command);
33
34 void SetMaxEnhancementFactor(Double_t _max_enhance_factor) {
35 max_enhance_factor = _max_enhance_factor;
36 };
37
38 private:
39 PParticle *daughters[ANY_DISTRIBUTION_MAX_DAUGHTERS]; //up to 8 daughters
41 int decay_done[ANY_DISTRIBUTION_MAX_DAUGHTERS+1];
42 int daughter_pos;
43 PParticle *parent;
44
45 PProjector *projector;
46
47 void MakeVars(void);
48
49 TH1 *cache1;
50 TH2 *cache2;
51 TH3 *cache3;
52
53 PParticle *vparent;
54 Double_t *vf;
55 Double_t *x, *y, *z;
56 Double_t max, max_enhance_factor;
57
58 ClassDef(PAnyDistribution, 0) //Any possible distribution for a->b+c+d
59
60};
61
62#endif
63
64
#define ANY_DISTRIBUTION_MAX_DAUGHTERS
PDistribution * Clone(const char *delme=NULL) const
Bool_t Finalize(void)
Bool_t AddEquation(TH3 *histo, const char *command)
PAnyDistribution(const Char_t *id, const Char_t *de)
Bool_t Prepare(void)
Bool_t AddEquation(const char *command)
Bool_t IsNotRejected(void)
void SetMaxEnhancementFactor(Double_t _max_enhance_factor)
Bool_t AddEquation(TH1 *histo, const char *command)
Bool_t Init(void)
Bool_t CheckAbort(void)
Bool_t AddEquation(TH2 *histo, const char *command)
TH1F * histo