MINT2
MultiQuarkContent.h
Go to the documentation of this file.
1 #ifndef MULTI_QUARK_CONTENT_HH
2 #define MULTI_QUARK_CONTENT_HH
3 // Added to handle quark contents of mixed particles.
4 // For most particles, it will have only a single
5 // entry. But for mixed particles such as K-short
6 // with a quark content of p(dS)+q(Ds),
7 // MultiQuarkContent will contain one entry
8 // for each flavour option (i.e. dS and Ds, in this case).
9 // When adding up quark contents, all possibilities
10 // are considered (so if you add together the quark contents
11 // of two mixed particles, you get a MultiQuarkContent
12 // vector that contains four options).
13 // Used to see if a decay is comparible with being
14 // a strong/QED decay (quark contents compatible)
15 // or not. BW_BW.C uses this, for example, to
16 // determine if it should consider Parity conservation
17 // when determining the lowest possible angular
18 // momentum of a decay.
19 #include "Mint/QuarkContent.h"
20 //#include <vector>
21 #include <iostream>
22 
23 #include "Mint/PolymorphVector.h"
24 
25 class MultiQuarkContent : public MINT::PolymorphVector<QuarkContent>{
26  public:
29  void antiThis();
30  bool initFromString(const std::string& str);
31 
32  bool compatible(const MultiQuarkContent& other) const;
33  void print(std::ostream& os = std::cout) const;
34 
37 
38 
41 
42 
43 
44 };
45 std::ostream& operator<<(std::ostream& st, const MultiQuarkContent& qc);
46 
47 #endif
48 //
MultiQuarkContent & operator+=(const MultiQuarkContent &rhs)
bool initFromString(const std::string &str)
MultiQuarkContent & operator-=(const MultiQuarkContent &rhs)
MultiQuarkContent operator+(const MultiQuarkContent &rhs) const
MultiQuarkContent operator-(const MultiQuarkContent &rhs) const
bool compatible(const MultiQuarkContent &other) const
std::ostream & operator<<(std::ostream &st, const MultiQuarkContent &qc)
void print(std::ostream &os=std::cout) const