CMS 3D CMS Logo

VertexCategories.h
Go to the documentation of this file.
1 
2 #ifndef VertexCategories_h
3 #define VertexCategories_h
4 
5 #include <ostream>
6 #include <vector>
7 
9 public:
11  enum Category {
12  Fake = 0,
49  };
50 
52  static const char *const Names[];
53 
55  typedef std::vector<bool> Flags;
56 
59 
61  bool is(Category category) const { return flags_[category]; }
62 
64  const Flags &flags() const { return flags_; }
65 
66 protected:
68  void reset() { flags_ = Flags(Unknown + 1, false); }
69 
70  // Check for unkown classification
71  void unknownVertex();
72 
74  Flags flags_;
75 };
76 
77 // Operation overload for printing the categories
78 std::ostream &operator<<(std::ostream &, VertexCategories const &);
79 
80 #endif
void reset()
Reset the categories flags.
std::vector< bool > Flags
Main types associated to the class.
Flags flags_
Flag containers.
Category
Categories available to vertexes.
bool is(Category category) const
Returns track flag for a given category.
const Flags & flags() const
Returns flags with the category descriptions.
std::ostream & operator<<(std::ostream &, VertexCategories const &)
static const char *const Names[]
Name of the different categories.
VertexCategories()
Void constructor.