AmpGen 2.1
Loading...
Searching...
No Matches
QuarkContent.h
Go to the documentation of this file.
1#ifndef AMPGEN_QUARKCONTENT_H
2#define AMPGEN_QUARKCONTENT_H
3
4#include <array>
5#include <iostream>
6#include <map>
7#include <vector>
8
9namespace AmpGen
10{
12 {
13 private:
14 static std::array<char,6> gNames;
15 static std::map<char, int> gPositions;
16 static bool initPositions();
17 std::array<int, 6> m_quarks;
18 public:
20 explicit QuarkState( const std::string& str );
21 void antiThis();
22 char nameFromPosition( int i ) const;
23 int positionFromName( char c ) const;
24 bool isVacuum() const;
25 void print( std::ostream& os = std::cout ) const;
28 QuarkState operator+ ( const QuarkState& rhs ) const;
29 QuarkState operator- ( const QuarkState& rhs ) const;
30 bool operator==( const QuarkState& rhs ) const;
31 bool operator!=( const QuarkState& rhs ) const;
32 int operator[]( const size_t& index ) const;
33 };
34
36 {
37 private:
38 std::vector<QuarkState> m_quarks;
39 public:
41 explicit QuarkContent( const std::string& str );
42 void antiThis();
43 void print( std::ostream& os = std::cout ) const;
44 size_t size() const;
45 bool compatible( const QuarkContent& other ) const;
50 bool operator==( const QuarkContent& rhs ) const;
51 bool operator!=( const QuarkContent& rhs ) const;
52 QuarkState operator[]( const size_t& index) const;
53 const std::vector<QuarkState>& quarks() const;
54 };
55 std::ostream& operator<<( std::ostream& st, const QuarkState& qc );
56 std::ostream& operator<<( std::ostream& st, const QuarkContent& qc );
57} // namespace AmpGen
58#endif
bool operator==(const QuarkContent &rhs) const
QuarkContent operator+(const QuarkContent &rhs) const
bool compatible(const QuarkContent &other) const
QuarkContent operator-(const QuarkContent &rhs) const
size_t size() const
QuarkContent & operator-=(const QuarkContent &rhs)
QuarkContent(const std::string &str)
QuarkState operator[](const size_t &index) const
QuarkContent & operator+=(const QuarkContent &rhs)
bool operator!=(const QuarkContent &rhs) const
void print(std::ostream &os=std::cout) const
const std::vector< QuarkState > & quarks() const
char nameFromPosition(int i) const
bool operator==(const QuarkState &rhs) const
bool operator!=(const QuarkState &rhs) const
QuarkState operator-(const QuarkState &rhs) const
int operator[](const size_t &index) const
QuarkState & operator+=(const QuarkState &rhs)
QuarkState(const std::string &str)
int positionFromName(char c) const
bool isVacuum() const
QuarkState & operator-=(const QuarkState &rhs)
void print(std::ostream &os=std::cout) const
QuarkState operator+(const QuarkState &rhs) const
std::ostream & operator<<(std::ostream &os, const CompiledExpressionBase &expression)