MINT2
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
MappedDalitzArea Class Reference

#include <MappedDalitzArea.h>

Public Member Functions

 MappedDalitzArea ()
 
 MappedDalitzArea (const DalitzEventPattern &pat, TRandom *rnd=gRandom)
 
 MappedDalitzArea (const DalitzEventPattern &pat, const DalitzCoordinate &oneLimit, TRandom *rnd=gRandom)
 
 MappedDalitzArea (const DalitzEventPattern &pat, const DalitzCoordinate &oneLimit, const DalitzCoordinate &otherLimit, TRandom *rnd=gRandom)
 
 MappedDalitzArea (const DalitzEventPattern &pat, const std::vector< DalitzCoordinate > &limits, TRandom *rnd=gRandom)
 
 MappedDalitzArea (const MappedDalitzArea &other)
 
virtual ~MappedDalitzArea ()
 
MINT::counted_ptr< DalitzEventmakeEventForOwner () const
 
MINT::counted_ptr< DalitzEventmakeEventForOwner (double scale0, double scale1, double scale2, double scale3, double scale4) const
 
std::vector< DalitzCoordinatecentre () const
 
bool isInside (const DalitzEvent &evt) const
 
bool isInside (const DalitzCoordinate &dc) const
 
bool isInside (const std::vector< DalitzCoordinate > &dcList) const
 
double size () const
 
void print (std::ostream &os=std::cout) const
 
void encloseInPhaseSpaceArea ()
 
std::vector< MappedDalitzAreasplit (unsigned int nWays) const
 
std::vector< MappedDalitzAreasplit (unsigned int limitIndex, unsigned int nWays) const
 
std::vector< MappedDalitzAreasplitIfWiderThan (double maxWidth) const
 
std::vector< MappedDalitzAreasplitIfWiderThan (unsigned int limitIndex, double maxWidth) const
 
DalitzCoordinate limit_s (const std::vector< int > &indices) const
 
DalitzCoordinate limit_s (int i, int j, int k=-1) const
 
bool setRnd (TRandom *rnd=gRandom)
 
bool similar (const MappedDalitzArea &ma) const
 
bool less (const MappedDalitzArea &ma) const
 
MappedDalitzAreaoperator= (const MappedDalitzArea &other)
 
bool operator< (const MappedDalitzArea &rhs) const
 
bool operator<= (const MappedDalitzArea &rhs) const
 
bool operator> (const MappedDalitzArea &rhs) const
 
bool operator>= (const MappedDalitzArea &rhs) const
 
bool operator== (const MappedDalitzArea &ma) const
 
bool operator!= (const MappedDalitzArea &ma) const
 

Private Member Functions

void setup ()
 
void findMapping ()
 
void applyLimits ()
 
bool allConsecutive () const
 
bool allStandardised () const
 

Static Private Member Functions

static std::vector< TLorentzVector > mapP4 (const DalitzEvent &evt, const Permutation &mapping)
 
static std::vector< TLorentzVector > & mapP4 (const DalitzEvent &evt, const Permutation &mapping, std::vector< TLorentzVector > &p4)
 

Private Attributes

TRandom * _rnd
 
DalitzEventPattern _pat
 
DalitzEventPattern _mappedPat
 
DalitzArea _area
 
std::vector< DalitzCoordinate_limits
 
Permutation _mapping
 
Permutation _inverseMapping
 

Detailed Description

Definition at line 20 of file MappedDalitzArea.h.

Constructor & Destructor Documentation

◆ MappedDalitzArea() [1/6]

MappedDalitzArea::MappedDalitzArea ( )

Definition at line 25 of file MappedDalitzArea.cpp.

26  : _rnd(0)
27  , _pat()
28  , _mappedPat()
29  , _area()
30  , _limits()
31  , _mapping()
32  , _inverseMapping()
33 {
34  setup();
35 }
std::vector< DalitzCoordinate > _limits
DalitzEventPattern _pat
DalitzEventPattern _mappedPat
Permutation _mapping
Permutation _inverseMapping

◆ MappedDalitzArea() [2/6]

MappedDalitzArea::MappedDalitzArea ( const DalitzEventPattern pat,
TRandom *  rnd = gRandom 
)

Definition at line 36 of file MappedDalitzArea.cpp.

38  : _rnd(rnd)
39  , _pat(pat)
40  , _mappedPat(pat)
41  , _area(pat)
42  , _limits()
43  , _mapping(pat.size())
44  , _inverseMapping(pat.size())
45 {
46  setup();
47 }
std::vector< DalitzCoordinate > _limits
DalitzEventPattern _pat
DalitzEventPattern _mappedPat
unsigned int size() const
Permutation _mapping
Permutation _inverseMapping

◆ MappedDalitzArea() [3/6]

MappedDalitzArea::MappedDalitzArea ( const DalitzEventPattern pat,
const DalitzCoordinate oneLimit,
TRandom *  rnd = gRandom 
)

Definition at line 48 of file MappedDalitzArea.cpp.

52  : _rnd(rnd)
53  , _pat(pat)
54  , _mappedPat(pat)
55  , _limits(1)
56  , _mapping(pat.size())
57  , _inverseMapping(pat.size())
58 {
59  _limits[0] = oneLimit;
60  setup();
61 }
std::vector< DalitzCoordinate > _limits
DalitzEventPattern _pat
DalitzEventPattern _mappedPat
unsigned int size() const
Permutation _mapping
Permutation _inverseMapping

◆ MappedDalitzArea() [4/6]

MappedDalitzArea::MappedDalitzArea ( const DalitzEventPattern pat,
const DalitzCoordinate oneLimit,
const DalitzCoordinate otherLimit,
TRandom *  rnd = gRandom 
)

Definition at line 62 of file MappedDalitzArea.cpp.

67  : _rnd(rnd)
68  , _pat(pat)
69  , _mappedPat(pat)
70  , _limits(2)
71  , _mapping(pat.size())
72  , _inverseMapping(pat.size())
73 {
74  _limits[0] = oneLimit;
75  _limits[1] = otherLimit;
76  /*
77  cout << " just made a MappedDalitzArea with limits :"
78  << oneLimit << ", " << otherLimit << " or "
79  << _limits[0] << ", " << _limits[1] << endl;
80  */
81  setup();
82  /*
83  cout << " ..after setup: "
84  << _limits[0] << ", " << _limits[1] << endl;
85  */
86 }
std::vector< DalitzCoordinate > _limits
DalitzEventPattern _pat
DalitzEventPattern _mappedPat
unsigned int size() const
Permutation _mapping
Permutation _inverseMapping

◆ MappedDalitzArea() [5/6]

MappedDalitzArea::MappedDalitzArea ( const DalitzEventPattern pat,
const std::vector< DalitzCoordinate > &  limits,
TRandom *  rnd = gRandom 
)

Definition at line 88 of file MappedDalitzArea.cpp.

92  : _rnd(rnd)
93  , _pat(pat)
94  , _mappedPat(pat)
95  , _limits(lim)
96  , _mapping(pat.size())
97  , _inverseMapping(pat.size())
98 {
99  setup();
100 }
std::vector< DalitzCoordinate > _limits
DalitzEventPattern _pat
DalitzEventPattern _mappedPat
unsigned int size() const
Permutation _mapping
Permutation _inverseMapping

◆ MappedDalitzArea() [6/6]

MappedDalitzArea::MappedDalitzArea ( const MappedDalitzArea other)

Definition at line 102 of file MappedDalitzArea.cpp.

103  : _rnd(other._rnd)
104  , _pat(other._pat)
105  , _mappedPat(other._mappedPat)
106  , _area(other._area)
107  , _limits(other._limits)
108  , _mapping(other._mapping)
110 {
111 }
std::vector< DalitzCoordinate > _limits
DalitzEventPattern _pat
DalitzEventPattern _mappedPat
Permutation _mapping
Permutation _inverseMapping

◆ ~MappedDalitzArea()

MappedDalitzArea::~MappedDalitzArea ( )
virtual

Definition at line 124 of file MappedDalitzArea.cpp.

124  {
125 }

Member Function Documentation

◆ allConsecutive()

bool MappedDalitzArea::allConsecutive ( ) const
private

Definition at line 127 of file MappedDalitzArea.cpp.

127  {
128  for(unsigned int i=0; i < _limits.size(); i++){
129  DalitzCoordinate newCoordinates = (_limits[i]).mapMe(_mapping);
130  /*
131  cout << "mapped new coordinates: "
132  << i << ": " << newCoordinates << endl;
133  */
134  if(! (newCoordinates.I_am_Consecutive())) return false;
135  }
136  return true;
137 }
bool I_am_Consecutive() const
std::vector< DalitzCoordinate > _limits
Permutation _mapping

◆ allStandardised()

bool MappedDalitzArea::allStandardised ( ) const
private

◆ applyLimits()

void MappedDalitzArea::applyLimits ( )
private

Definition at line 190 of file MappedDalitzArea.cpp.

190  {
191 
192  for(unsigned int i=0; i < _limits.size(); i++){
193  cout << "mapped co-ordinates " << _limits[i].mapMe(_mapping) << endl;
194  _area.setCoordinate(_limits[i].mapMe(_mapping));
195  }
197 }
std::vector< DalitzCoordinate > _limits
void encloseInPhaseSpaceArea(double safetyFactor=1.0)
Definition: DalitzArea.cpp:147
bool setCoordinate(const DalitzCoordinate &c)
Definition: DalitzArea.cpp:358
Permutation _mapping

◆ centre()

std::vector< DalitzCoordinate > MappedDalitzArea::centre ( ) const

Definition at line 240 of file MappedDalitzArea.cpp.

240  {
241  std::vector<DalitzCoordinate> c(_limits);
242  for(unsigned int i=0; i < c.size(); i++){
243  c[i].setVal(0.5*(c[i].min() + c[i].max()));
244  }
245  return c;
246 }
std::vector< DalitzCoordinate > _limits

◆ encloseInPhaseSpaceArea()

void MappedDalitzArea::encloseInPhaseSpaceArea ( )
inline

Definition at line 81 of file MappedDalitzArea.h.

81  {
83  }
void encloseInPhaseSpaceArea(double safetyFactor=1.0)
Definition: DalitzArea.cpp:147

◆ findMapping()

void MappedDalitzArea::findMapping ( )
private

Definition at line 139 of file MappedDalitzArea.cpp.

139  {
141  if(allConsecutive()) return;
142 
143  DalitzEventPattern tmpPat(_pat);
144  tmpPat[0] =1;
145  for(unsigned int i=1; i< _pat.size(); i++){
146  tmpPat[i]=0;
147  }
148 
149  Permutator ptor(tmpPat);// this finds all mappings
150  // leaving the 0th particle alone (the mother) and
151  // swapping all the daughters - the pattern
152  // is set up to achieve this ('particles' 1,2,3,4,.. are identical)
153 
154  for(unsigned int i=0; i< ptor.size(); i++){
155  _mapping = ptor[i];
156  cout << " trying out mapping\n " << _mapping << endl;
157  if(allConsecutive()){
158  break;
159  }
160  }
162  for(unsigned int i=0; i < _pat.size(); i++){
163  int mappedIndex = _mapping[i];
164  if(mappedIndex < 0 || mappedIndex >= (int) _mappedPat.size()){
165  cout << "ERROR in MappedDalitzArea::findMapping()"
166  << "\n Index out of range: " << mappedIndex
167  << " not in [0, " << _mappedPat.size()-1
168  << endl;
169  throw "index out of range.";
170  }
171  cout << " mapped index of " << i << " = " << mappedIndex << endl;
172  _mappedPat[mappedIndex] = _pat[i];
173  }
174 
175  cout << " using the following mapping:\n "
176  << _mapping << endl;
177  cout << "_mappedPat " << _mappedPat << endl;
178 }
DalitzEventPattern _pat
bool allConsecutive() const
DalitzEventPattern _mappedPat
void makeUnity()
Definition: Permutation.cpp:42
unsigned int size() const
Permutation _mapping
Permutation _inverseMapping
Permutation getInverse() const
Definition: Permutation.cpp:84

◆ isInside() [1/3]

bool MappedDalitzArea::isInside ( const DalitzEvent evt) const

Definition at line 270 of file MappedDalitzArea.cpp.

270  {
271 
272  vector<TLorentzVector> p4 =
273  mapP4(evt, _mapping );
274 
275  DalitzEvent mappedEvt(_mappedPat, p4);
276  return _area.isInside(mappedEvt);
277 }
static std::vector< TLorentzVector > mapP4(const DalitzEvent &evt, const Permutation &mapping)
bool isInside(const IDalitzEvent &evt) const
Definition: DalitzArea.cpp:214
DalitzEventPattern _mappedPat
Permutation _mapping

◆ isInside() [2/3]

bool MappedDalitzArea::isInside ( const DalitzCoordinate dc) const

Definition at line 279 of file MappedDalitzArea.cpp.

279  {
280  return _area.isInside(dc.mapMe(_mapping));
281 }
bool isInside(const IDalitzEvent &evt) const
Definition: DalitzArea.cpp:214
DalitzCoordinate mapMe(const Permutation &perm) const
Permutation _mapping

◆ isInside() [3/3]

bool MappedDalitzArea::isInside ( const std::vector< DalitzCoordinate > &  dcList) const

Definition at line 282 of file MappedDalitzArea.cpp.

282  {
283  // cout << " inside this: " << *this << endl;
284  for(unsigned int i=0; i < dcList.size(); i++){
285  if(! isInside(dcList[i])){
286  // cout << "Not inside: " << dcList[i]
287  // << "\n\tmapped: " << dcList[i].mapMe(_mapping)
288  // << endl;
289  return false;
290  }
291  }
292  return true;
293 
294 }
bool isInside(const DalitzEvent &evt) const

◆ less()

bool MappedDalitzArea::less ( const MappedDalitzArea ma) const

Definition at line 430 of file MappedDalitzArea.cpp.

430  {
431  if(_limits.size() < rhs._limits.size()) return true;
432  if(_limits.size() > rhs._limits.size()) return false;
433 
434  for(unsigned int i=0; i < _limits.size(); i++){
435  if(_limits[i].size() < rhs._limits[i].size()) return true;
436  if(_limits[i].size() > rhs._limits[i].size()) return false;
437  for(unsigned int j=0; j < _limits[i].size(); j++){
438  if( (_limits[i])[j] < (rhs._limits[i])[j]) return true;
439  if( (_limits[i])[j] > (rhs._limits[i])[j]) return false;
440  }
441 
442  if( (_limits[i].min() < rhs._limits[i].min()) ) return true;
443  if( (_limits[i].min() > rhs._limits[i].min()) ) return false;
444 
445  if( (_limits[i].max() < rhs._limits[i].max()) ) return true;
446  if( (_limits[i].max() > rhs._limits[i].max()) ) return false;
447  }
448  return false;
449 }
std::vector< DalitzCoordinate > _limits
double size() const

◆ limit_s() [1/2]

DalitzCoordinate MappedDalitzArea::limit_s ( const std::vector< int > &  indices) const

Definition at line 388 of file MappedDalitzArea.cpp.

388  {
389  DalitzCoordinate dc(indices);
390 
391  for(unsigned int i=0; i < _limits.size(); i++){
392  if(_limits[i].size() != dc.size()) continue;
393  for(unsigned int j=0; j < dc.size(); j++){
394  if(_limits[i][j] != dc[j]){
395  continue;
396  }
397  }
398  return _limits[i];
399  }
400  return dc;
401 }
std::vector< DalitzCoordinate > _limits
double size() const

◆ limit_s() [2/2]

DalitzCoordinate MappedDalitzArea::limit_s ( int  i,
int  j,
int  k = -1 
) const

Definition at line 402 of file MappedDalitzArea.cpp.

402  {
403  std::vector<int> v;
404  v.push_back(i);
405  v.push_back(j);
406  if(k >=0)v.push_back(k);
407  return limit_s(v);
408 }
DalitzCoordinate limit_s(const std::vector< int > &indices) const

◆ makeEventForOwner() [1/2]

counted_ptr< DalitzEvent > MappedDalitzArea::makeEventForOwner ( ) const

Definition at line 228 of file MappedDalitzArea.cpp.

228  {
230  if(0 == mappedEvt){
231  return mappedEvt;
232  }
233  static vector<TLorentzVector> p4;
234  mapP4( *mappedEvt, _inverseMapping, p4 );
235 
237  return evt;
238 }
static std::vector< TLorentzVector > mapP4(const DalitzEvent &evt, const Permutation &mapping)
MINT::counted_ptr< DalitzEvent > makeEventForOwner() const
Definition: DalitzArea.cpp:319
DalitzEventPattern _pat
Permutation _inverseMapping

◆ makeEventForOwner() [2/2]

counted_ptr< DalitzEvent > MappedDalitzArea::makeEventForOwner ( double  scale0,
double  scale1,
double  scale2,
double  scale3,
double  scale4 
) const

Definition at line 247 of file MappedDalitzArea.cpp.

252  {
254  , scale1
255  , scale2
256  , scale3
257  , scale4
258  )
259  );
260  if(0 == mappedEvt){
261  return mappedEvt;
262  }
263  vector<TLorentzVector> p4 =
264  mapP4( *mappedEvt, _inverseMapping );
265 
267  return evt;
268 }
static std::vector< TLorentzVector > mapP4(const DalitzEvent &evt, const Permutation &mapping)
MINT::counted_ptr< DalitzEvent > makeEventForOwner() const
Definition: DalitzArea.cpp:319
DalitzEventPattern _pat
Permutation _inverseMapping

◆ mapP4() [1/2]

vector< TLorentzVector > MappedDalitzArea::mapP4 ( const DalitzEvent evt,
const Permutation mapping 
)
staticprivate

Definition at line 199 of file MappedDalitzArea.cpp.

201  {
202  vector<TLorentzVector> p4(evt.eventPattern().size());
203  return mapP4(evt, mapping, p4);
204 }
static std::vector< TLorentzVector > mapP4(const DalitzEvent &evt, const Permutation &mapping)
virtual const DalitzEventPattern & eventPattern() const
Definition: DalitzEvent.h:173
unsigned int size() const

◆ mapP4() [2/2]

static std::vector<TLorentzVector>& MappedDalitzArea::mapP4 ( const DalitzEvent evt,
const Permutation mapping,
std::vector< TLorentzVector > &  p4 
)
staticprivate

◆ operator!=()

bool MappedDalitzArea::operator!= ( const MappedDalitzArea ma) const

Definition at line 472 of file MappedDalitzArea.cpp.

472  {
473  return ! ( (*this) == rhs);
474 }

◆ operator<()

bool MappedDalitzArea::operator< ( const MappedDalitzArea rhs) const

Definition at line 451 of file MappedDalitzArea.cpp.

451  {
452  return this->less(rhs);
453 }
bool less(const MappedDalitzArea &ma) const

◆ operator<=()

bool MappedDalitzArea::operator<= ( const MappedDalitzArea rhs) const

Definition at line 454 of file MappedDalitzArea.cpp.

454  {
455  return (this->less(rhs) || (*this) == rhs);
456 }
bool less(const MappedDalitzArea &ma) const

◆ operator=()

MappedDalitzArea & MappedDalitzArea::operator= ( const MappedDalitzArea other)

Definition at line 113 of file MappedDalitzArea.cpp.

113  {
114  _rnd = other._rnd;
115  _pat = other._pat;
116  _mappedPat = other._mappedPat;
117  _area = other._area;
118  _limits = other._limits;
119  _mapping = other._mapping;
121  return *this;
122 }
std::vector< DalitzCoordinate > _limits
DalitzEventPattern _pat
DalitzEventPattern _mappedPat
Permutation _mapping
Permutation _inverseMapping

◆ operator==()

bool MappedDalitzArea::operator== ( const MappedDalitzArea ma) const

Definition at line 464 of file MappedDalitzArea.cpp.

464  {
465  if(_limits.size() != rhs._limits.size()) return false;
466  for(unsigned int i=0; i < _limits.size(); i++){
467  if(_limits[i] != rhs._limits[i]) return false;
468  }
469  return true;
470 }
std::vector< DalitzCoordinate > _limits

◆ operator>()

bool MappedDalitzArea::operator> ( const MappedDalitzArea rhs) const

Definition at line 457 of file MappedDalitzArea.cpp.

457  {
458  return ! ((*this) < rhs || (*this) == rhs);
459 }

◆ operator>=()

bool MappedDalitzArea::operator>= ( const MappedDalitzArea rhs) const

Definition at line 460 of file MappedDalitzArea.cpp.

460  {
461  return ! ((*this) < rhs);
462 }

◆ print()

void MappedDalitzArea::print ( std::ostream &  os = std::cout) const

Definition at line 477 of file MappedDalitzArea.cpp.

477  {
478  os << " MappedDalitzArea "
479  << " limits: ";
480  for(unsigned int i=0; i < _limits.size(); i++){
481  os << "\n " << _limits[i] << endl;
482  }
483 
484  os << "\n Mapping:\n " << _mapping
485  << "\n area: " << _area;
486 }
std::vector< DalitzCoordinate > _limits
Permutation _mapping

◆ setRnd()

bool MappedDalitzArea::setRnd ( TRandom *  rnd = gRandom)

Definition at line 488 of file MappedDalitzArea.cpp.

488  {
489  _rnd = rnd;
490  _area.setRnd(rnd);
491  return true;
492 }
bool setRnd(TRandom *rnd=gRandom)
Definition: DalitzArea.cpp:105

◆ setup()

void MappedDalitzArea::setup ( )
private

Definition at line 180 of file MappedDalitzArea.cpp.

180  {
181  sort(_limits.begin(), _limits.end());
182 
183  findMapping();
184  cout << " mappedPat " << _mappedPat << endl;
186  _area.setRnd(_rnd);
187  applyLimits();
188 }
void setPattern(const DalitzEventPattern &pat)
Definition: DalitzArea.cpp:89
bool setRnd(TRandom *rnd=gRandom)
Definition: DalitzArea.cpp:105
std::vector< DalitzCoordinate > _limits
DalitzEventPattern _mappedPat

◆ similar()

bool MappedDalitzArea::similar ( const MappedDalitzArea ma) const

Definition at line 410 of file MappedDalitzArea.cpp.

410  {
411  // doesn't work, don't know why.
412  if(_limits.size() != rhs._limits.size()) return false;
413  double epsilon = 1.e-4;
414  for(unsigned int i=0; i < _limits.size(); i++){
415  if(_limits[i].size() != rhs._limits[i].size()) return false;
416  for(unsigned int j=0; j < _limits[i].size(); j++){
417  if( (_limits[i])[j] != (rhs._limits[i])[j]) return false;
418  }
419 
420  if( (_limits[i].min() - rhs._limits[i].min())
421  > epsilon * (_limits[i].min() + rhs._limits[i].min())
422  ) return false;
423  if( (_limits[i].max() - rhs._limits[i].max())
424  > epsilon * (_limits[i].max() + rhs._limits[i].max())
425  ) return false;
426  }
427  return true;
428 }
std::vector< DalitzCoordinate > _limits
double size() const

◆ size()

double MappedDalitzArea::size ( ) const
inline

Definition at line 76 of file MappedDalitzArea.h.

76  {
77  return _area.size();}
double size() const
Definition: DalitzArea.cpp:251

◆ split() [1/2]

std::vector< MappedDalitzArea > MappedDalitzArea::split ( unsigned int  nWays) const

Definition at line 318 of file MappedDalitzArea.cpp.

318  {
319  std::vector<MappedDalitzArea> returnList;
320  if(n ==0 ) return returnList;
321 
322  std::vector<MappedDalitzArea> newList;
323  returnList.push_back(*this);
324  for(unsigned int limitIndex=0; limitIndex< _limits.size(); limitIndex++){
325  std::vector<MappedDalitzArea> thisIterationsList;
326  for(unsigned int j=0; j < returnList.size(); j++){
327  std::vector<MappedDalitzArea> tempList =
328  returnList[j].split(limitIndex, n);
329  thisIterationsList.insert(thisIterationsList.end()
330  , tempList.begin(), tempList.end()
331  );
332  }
333  returnList = thisIterationsList;
334  }
335 
336  return returnList;
337 }
std::vector< DalitzCoordinate > _limits

◆ split() [2/2]

std::vector<MappedDalitzArea> MappedDalitzArea::split ( unsigned int  limitIndex,
unsigned int  nWays 
) const

◆ splitIfWiderThan() [1/2]

std::vector< MappedDalitzArea > MappedDalitzArea::splitIfWiderThan ( double  maxWidth) const

Definition at line 367 of file MappedDalitzArea.cpp.

367  {
368  std::vector<MappedDalitzArea> returnList;
369  if(maxWidth <= 0 ) return returnList;
370 
371  std::vector<MappedDalitzArea> newList;
372  returnList.push_back(*this);
373  for(unsigned int limitIndex=0; limitIndex< _limits.size(); limitIndex++){
374  std::vector<MappedDalitzArea> thisIterationsList;
375  for(unsigned int j=0; j < returnList.size(); j++){
376  std::vector<MappedDalitzArea> tempList =
377  returnList[j].splitIfWiderThan(limitIndex, maxWidth);
378  thisIterationsList.insert(thisIterationsList.end()
379  , tempList.begin(), tempList.end()
380  );
381  }
382  returnList = thisIterationsList;
383  }
384 
385  return returnList;
386 }
std::vector< DalitzCoordinate > _limits

◆ splitIfWiderThan() [2/2]

std::vector<MappedDalitzArea> MappedDalitzArea::splitIfWiderThan ( unsigned int  limitIndex,
double  maxWidth 
) const

Member Data Documentation

◆ _area

DalitzArea MappedDalitzArea::_area
private

Definition at line 25 of file MappedDalitzArea.h.

◆ _inverseMapping

Permutation MappedDalitzArea::_inverseMapping
private

Definition at line 29 of file MappedDalitzArea.h.

◆ _limits

std::vector<DalitzCoordinate> MappedDalitzArea::_limits
private

Definition at line 27 of file MappedDalitzArea.h.

◆ _mappedPat

DalitzEventPattern MappedDalitzArea::_mappedPat
private

Definition at line 23 of file MappedDalitzArea.h.

◆ _mapping

Permutation MappedDalitzArea::_mapping
private

Definition at line 29 of file MappedDalitzArea.h.

◆ _pat

DalitzEventPattern MappedDalitzArea::_pat
private

Definition at line 23 of file MappedDalitzArea.h.

◆ _rnd

TRandom* MappedDalitzArea::_rnd
private

Definition at line 21 of file MappedDalitzArea.h.


The documentation for this class was generated from the following files: