CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
VertexCategories.h
Go to the documentation of this file.
1 
2 #ifndef VertexCategories_h
3 #define VertexCategories_h
4 
5 #include <vector>
6 
8 {
9 
10 public:
11 
13  enum Category
14  {
15  Fake = 0,
52  };
53 
55  static const char * const Names[];
56 
58  typedef std::vector<bool> Flags;
59 
62  {
63  reset();
64  }
65 
67  bool is(Category category) const
68  {
69  return flags_[category];
70  }
71 
73  const Flags & flags() const
74  {
75  return flags_;
76  }
77 
78 protected:
79 
81  void reset()
82  {
83  flags_ = Flags(Unknown + 1, false);
84  }
85 
86  // Check for unkown classification
87  void unknownVertex();
88 
91 
92 };
93 
94 // Operation overload for printing the categories
95 std::ostream & operator<< (std::ostream &, VertexCategories const &);
96 
97 #endif
void reset()
Reset the categories flags.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
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.
static const char *const Names[]
Name of the different categories.
VertexCategories()
Void constructor.