19 for(
int i=0; i<arrayDimension; i++){
28 for(
unsigned int i=0; i<pdg_ids.size(); i++){
37 for(
unsigned int i=0; i < this->
size(); i++){
38 (*this)[i] = other[i];
83 std::vector<int> finalState( fsTree_pointers->size() );
85 for(
unsigned int i=0; i< fsTree_pointers->size(); i++){
86 finalState[i] = (*fsTree_pointers)[i]->pdg();
88 sort(finalState.begin(), finalState.end());
90 this->
resize(finalState.size() + 1);
91 (*this)[0] = dt_in.
getVal();
92 for(
unsigned int i=0; i< finalState.size(); i++){
93 (*this)[i+1] = finalState[i];
97 cout <<
"made this pattern: " << *
this 98 <<
"out of this tree " << dt_in << endl;
105 for(
unsigned int i=0; i < pat.
size(); i++) pat[i].antiThis();
110 if(
size() != other.
size())
return false;
111 for(
unsigned int i=0; i<
size(); i++){
112 if((*
this)[i] != other[i])
return false;
118 if(
equal(other))
return false;
119 if(
size() < other.
size())
return true;
120 if(
size() > other.
size())
return false;
121 for(
unsigned int i=0; i<
size(); i++){
122 if((*
this)[i] < other[i])
return true;
123 if((*
this)[i] > other[i])
return false;
131 return ! ((*this) == rhs);
138 return (*
this < rhs || *
this == rhs);
141 return ! ((*this) < rhs);
144 return ! ((*this) <= rhs);
149 for(
unsigned int i=0; i< this->
size(); i++){
151 if(i + 1< this->
size()) os <<
", ";
158 for(
unsigned int i=1; i<this->
size(); i++){
159 fs.push_back((*
this)[i]);
165 if(this->
empty())
return false;
167 if(tree.
getVal().
pdg() != (*this)[0])
return false;
178 if(this->
empty())
return false;
180 std::vector<const DecayTreeItem*> fsTree_pointers = tree.
finalState();
182 std::vector<int> fsTree;
183 for(
unsigned int i=0; i< fsTree_pointers.size(); i++){
184 fsTree.push_back(fsTree_pointers[i]->pdg());
192 if(this->
empty())
return false;
201 if(otherFs_in.size() != fs.size())
return false;
203 std::vector<int> otherFs(otherFs_in);
204 sort(fs.begin() , fs.end());
205 sort(otherFs.begin(), otherFs.end());
207 for(
unsigned int i=0; i<fs.size(); i++){
208 if(fs[i] != otherFs[i])
return false;
220 std::vector<int> indices(2);
221 indices[0] = i; indices[1] = j;
225 std::vector<int> indices(2);
226 indices[0] = i; indices[1] = j;
231 std::vector<int> indices(3);
232 indices[0] = i; indices[1] = j; indices[2] = k;
237 std::vector<int> indices(3);
238 indices[0] = i; indices[1] = j; indices[2]=k;
244 for(
unsigned int i=0; i< indices.
size(); i++){
245 if(indices[i] < 1 || indices[i] >= (
int) this->
size()){
249 sum += (*this)[indices[i]].mass();
255 if(this->
empty())
return -9999;
257 double sum=(*this)[0].mass();
258 for(
unsigned int i=1; i<this->
size(); i++){
259 sum -= (*this)[i].mass();
263 for(
unsigned int i=0; i< indices.
size(); i++){
264 if(indices[i] < 1 || indices[i] >= (
int) this->
size()){
268 sum += (*this)[indices[i]].mass();
276 std::vector<int> v(this->
size());
277 for(
unsigned int i=0; i<this->
size(); i++){
278 v[i] = (int) (*
this)[i];
285 if(this->
size() < 1)
return "";
286 s = (*this)[0].name() +
"->";
287 for(
unsigned int i=1; i < this->
size(); i++){
288 s += (*this)[i].name();
double sijMax(const MINT::PolymorphVector< int > &indices) const
bool lt(const DalitzEventPattern &other) const
bool compatibleWithFinalState(const AmpInitialiser &InitContainsTree) const
MINT::counted_ptr< std::vector< const ValueType * > > finalStatePtr() const
void resize(unsigned int N)
std::vector< int > finalStates() const
bool operator==(const DalitzEventPattern &rhs) const
const DecayTree & tree() const
bool compatibleWith(const DecayTree &tree) const
bool operator<(const DalitzEventPattern &rhs) const
bool selfConjugateFS() const
const ValueType & getVal() const
bool operator>=(const DalitzEventPattern &rhs) const
bool operator<=(const DalitzEventPattern &rhs) const
std::vector< int > getVectorOfInts() const
double sijMin(const MINT::PolymorphVector< int > &indices) const
static const DalitzEventPattern NoPattern
std::ostream & operator<<(std::ostream &os, const DalitzEventPattern &p)
bool equal(const DalitzEventPattern &other) const
bool operator!=(const DalitzEventPattern &rhs) const
unsigned int size() const
DalitzEventPattern makeCPConjugate() const
std::vector< const ValueType * > finalState() const
void print(std::ostream &os=std::cout) const
bool operator>(const DalitzEventPattern &rhs) const