MINT2
SumOfFitAmpLists.cpp
Go to the documentation of this file.
2 
3 using namespace std;
4 using namespace MINT;
5 
7 {
8 }
9 
11  list){
12  addList(list);
13 }
15  list_1
17  list_2){
18  addList(list_1);
19  addList(list_2);
20 }
22  list_1
24  list_2
26  list_3){
27  addList(list_1);
28  addList(list_2);
29  addList(list_3);
30 }
32  list_1
34  list_2
36  list_3
38  list_4){
39  addList(list_1);
40  addList(list_2);
41  addList(list_3);
42  addList(list_4);
43 }
45  list_1
47  list_2
49  list_3
51  list_4
53  list_5){
54  addList(list_1);
55  addList(list_2);
56  addList(list_3);
57  addList(list_4);
58  addList(list_5);
59 }
61  list_1
63  list_2
65  list_3
67  list_4
69  list_5
71  list_6){
72  addList(list_1);
73  addList(list_2);
74  addList(list_3);
75  addList(list_4);
76  addList(list_5);
77  addList(list_6);
78 }
79 
81  list){
82  _listOfLists.push_back(list);
83 }
84 
87  return makeIntegCalculator();
88 }
89 
93  if(_listOfLists.empty()) return ptr;
94 
95  ptr = _listOfLists[0]->makeIntegCalculator();
96  if(_listOfLists.size() == 1) return ptr;
97 
98  for(unsigned int i=1; i < _listOfLists.size(); i++){
99  ptr->append(_listOfLists[i]->makeIntegCalculator());
100  }
101  return ptr;
102 }
103 
105  double sum=0;
106  if(_listOfLists.empty()) return 0;
107 
108  for(unsigned int i=0; i < _listOfLists.size(); i++){
109  sum += _listOfLists[i]->RealVal(evt);
110  }
111  return sum;
112 }
113 
115  if(_listOfLists.empty()){
116  DalitzBWBoxSet emptyBoxes;
117  return emptyBoxes;
118  }
119  DalitzBWBoxSet boxset(_listOfLists[0]->makeBWBoxes(pat, rnd));
120  if(_listOfLists.size() == 1) return boxset;
121 
122  for(unsigned int i=1; i < _listOfLists.size(); i++){
123  DalitzBWBoxSet boxes(_listOfLists[i]->makeBWBoxes(pat, rnd));
124  boxset.add(boxes);
125  }
126  return boxset;
127 }
128 
132  ptr(new DalitzBWBoxSet(makeBWBoxes(pat, rnd)));
133  return ptr;
134 }
135 
136 void SumOfFitAmpLists::print(std::ostream& os) const{
137  os << "SumOfFitAmpList with " << _listOfLists.size()
138  << " components:" << endl;
139  for(unsigned int i=0; i < _listOfLists.size(); i++){
140  os << " ------ " << endl;
141  if(0 != _listOfLists[i]) _listOfLists[i]->print(os);
142  }
143 }
144 void SumOfFitAmpLists::printNonZero(std::ostream& os) const{
145  os << "SumOfFitAmpList with " << _listOfLists.size()
146  << " components:" << endl;
147  for(unsigned int i=0; i < _listOfLists.size(); i++){
148  os << " ------ " << i << " ----- " << endl;
149  if(0 != _listOfLists[i]) _listOfLists[i]->printNonZero(os);
150  }
151  os << " =========================== " << endl;
152 }
153 
154 // ------
155 
156 std::ostream& operator<<(std::ostream& os, const SumOfFitAmpLists& sofal){
157  sofal.print(os);
158  return os;
159 }
160 
161 //===========
162 //
163 
virtual bool append(const IntegCalculator &other)
virtual MINT::counted_ptr< IntegCalculator > makeIntegCalculator()
std::ostream & operator<<(std::ostream &os, const SumOfFitAmpLists &sofal)
virtual void print(std::ostream &os=std::cout) const
virtual double RealVal(IDalitzEvent &evt)
virtual void printNonZero(std::ostream &os=std::cout) const
virtual MINT::counted_ptr< IIntegrationCalculator > makeIntegrationCalculator()
virtual MINT::counted_ptr< MINT::IUnweightedEventGenerator< IDalitzEvent > > makeEventGenerator(const DalitzEventPattern &pat, TRandom *rnd=gRandom)
void addList(const MINT::counted_ptr< ILookLikeFitAmpSum > &list)
void add(DalitzBWBox &box)
virtual DalitzBWBoxSet makeBWBoxes(const DalitzEventPattern &pat, TRandom *rnd=gRandom)