29 cout <<
" DalitzBoxSet_Method2 from DalitzBoxSet, and pattern " 32 <<
"; this is me:\n" << (*this)
39 for(
unsigned int i=0; i < this->
size(); i++){
40 (*this)[i].setFlatPhaseSpace();
46 for(
unsigned int i=0; i < this->
size(); i++){
47 double thisHeight = (*this)[i].height();
53 for(
unsigned int i=0; i < this->
size(); i++){
54 double thisHeight = (*this)[i].height();
66 cout <<
" getting ready " << endl;
71 cout <<
"DalitzBoxSet_Method2: I am ready.\n" << (*this) << endl;
76 if(0 ==
_amps )
return 0;
85 return (*
this)[boxIndex].tryWeightedEventForOwner();
90 if(dbThis)cout <<
"_ready = " <<
_ready << endl;
91 if(dbThis)cout <<
" maxHeight " <<
maxHeight() << endl;
93 if(dbThis)cout <<
" DalitzBoxSet_Method2::newEvent " 94 <<
" getting event " << endl;
99 if(dbThis) cout <<
"got event, returning " << ptr << endl;
112 for(
unsigned int i=0; i< this->
size(); i++){
113 bool isIn = (*this)[i].insideArea(*evtPtr);
124 if(boxIndex < 0 || boxIndex >= (
int) this->
size()){
125 cout <<
"ERROR in DalitzBoxSet_Method2::tryEvent()" 126 <<
" boxIndex = " << boxIndex
127 <<
", outside [" << 0 <<
", " << this->
size() <<
"]" 132 double thisHeight = (*this)[boxIndex].height();
138 if(pdf > thisHeight){
139 cout <<
"ERROR, underestimated box height [" << boxIndex <<
"]" 140 <<
"\n\t\t thisHeight = " << thisHeight
141 <<
"\n\t\t < pdf = " << pdf
142 <<
"\n\t\t (maxHeight = " <<
maxHeight() <<
")" << endl;
143 (*this)[boxIndex].setHeight(3*pdf);
146 if(
_rnd->Rndm()* thisHeight >= pdf) {
MINT::IReturnRealForEvent< IDalitzEvent > * _amps
virtual double RealVal(EVENT_TYPE &evt)=0
virtual MINT::counted_ptr< DalitzEvent > tryEvent()
DalitzBoxSet_Method2(const DalitzEventPattern &pat, TRandom *rnd=gRandom)
unsigned int size() const
virtual MINT::counted_ptr< DalitzEvent > tryWeightedEvent()
double eventsPDF(DalitzEvent &evt)
virtual MINT::counted_ptr< IDalitzEvent > newEvent()
void setEmptyBoxesHeight()