Pluto v6.3.0
Loading...
Searching...
No Matches
PDistributionManager.h
Go to the documentation of this file.
1// Author: I. Froehlich
2// Written: 3.7.2006
3// Revised:
4// Base class for common distributions
5
6#ifndef _PDISTRIBUTIONMANAGER_H_
7#define _PDISTRIBUTIONMANAGER_H_
8
9#include "TObjArray.h"
10#include "TF1.h"
11#include "TF2.h"
12#include "PParticle.h"
13#include "PDistribution.h"
15#include "PStdModels.h"
17#include "PBatch.h"
18#include "PProjector.h"
19#include "PCommandList.h"
20
21#define PDISTRIBUTIONMANAGER_MAX_COLLECT 100
22
24//R__EXTERN PDistributionManager *gDM;
27
28class PDistributionManager : public TObject {
29
30 public:
31
33
34 int Add(PDistribution *dist) {
35 //Adds user-defined distribution
36 return pdmutil->Add(dist);
37 };
38
39 int Add(PDistribution *dist, const Char_t *gr) {
40 //Adds user-defined distribution
41 return pdmutil->Add(dist, gr);
42 };
43
44 void AlternativeTo(const char *a, const char *b) {
45 pdmutil->AlternativeTo(a, b);
46 };
47
48 void Print(const Option_t *delme= "root") const {
49 pdmutil->Print(delme);
50 };
51
53 //Attach the PChannel to the known distributions
54
55 void Disable(const Char_t *id) {
56 //Disable id, if possible
57 pdmutil->Disable(id);
58 };
59
60 void Enable(const Char_t *id) {
61 //Enable id, if possible
62 pdmutil->Enable(id);
63 };
64
65 PDistribution *GetDistribution(const Char_t *id) {
66 return pdmutil->GetDistribution(id);
67 };
68
69 void SetVerbose(Int_t v) {
70 pdmutil->SetVerbose(v);
71 };
72
76
77 void LinkDB(void) {
78 // Link the channel models to data base
79 pdmutil->LinkDB();
80 };
81
83
84 void ExpandGroup(const char *gr, Int_t ex=1) {
85 pdmutil->ExpandGroup(gr, ex);
86 };
87
89
90 Int_t AddGroup(const Char_t *id, const Char_t *de) {
91 return pdmutil->AddGroup(id, de);
92 };
93
94 void SetGroup(const Char_t *id) {
95 //set standard group for the next Add(PDistribution * dist)
96 pdmutil->SetGroup(id);
97 };
98
99 Int_t AddSubGroup(const Char_t *id, const Char_t *de, const Char_t *sub) {
100 return pdmutil->AddSubGroup(id, de, sub);
101 };
102
104
105 Bool_t Exec(const char *command);
106 Bool_t ExecAll(const char *command = "init");
107 Bool_t Activate(const char *name);
108
109 Bool_t Startup(void); //called before event loop
110 Bool_t Startup(const char *command); //add commands for startup
111
112 Bool_t Unpack(const char *filename); //unpack and execute command list
113
115 return loop_start;
116 };
117
118 private:
119
120
122 PStdModels *std_models;
123
125 Int_t collect_pointer;
126
127 void PluginInfo(const char *info);
128
129 PBatch *batch;
130 PProjector *loop_start;
131
132 ClassDef(PDistributionManager,0) //The main manager for model and distribution handling
133
134};
135
136#endif
PDistributionManagerUtil * makeDistributionManagerUtil()
#define PDISTRIBUTIONMANAGER_MAX_COLLECT
PDistributionManager & fDistributionManager()
PDistributionManager * makeDistributionManager()
PluginInfo("Beam line simulation classes available")
void ActivateStdModels(void)
Int_t AddGroup(const Char_t *id, const Char_t *de)
void Enable(const Char_t *id)
Bool_t Exec(const char *command)
Bool_t ExecAll(const char *command="init")
int Add(PDistribution *dist, const Char_t *gr)
Bool_t Activate(const char *name)
Bool_t Startup(const char *command)
void AlternativeTo(const char *a, const char *b)
Bool_t Unpack(const char *filename)
void Print(const Option_t *delme="root") const
Int_t AddSubGroup(const Char_t *id, const Char_t *de, const Char_t *sub)
PProjector * GetLoopFilter(void)
void Disable(const Char_t *id)
Bool_t Startup(void)
void ExpandGroup(const char *gr, Int_t ex=1)
void SetGroup(const Char_t *id)
PDistribution * GetDistribution(const Char_t *id)
int Attach(PChannel *ch)
Bool_t AddPlugin(PDistributionCollection *plugin)
int Add(PDistribution *dist)
PDalitzModPlugin * plugin
TString filename("eta_dalitz_a")
PChannel * ch[]
Definition w_dalitz.C:22