/Documentation/CodingRules/ExampleClass.h

https://github.com/aivanov-cern/cmssw · C Header · 53 lines · 20 code · 14 blank · 19 comment · 0 complexity · 3c7dbe9ebb2db994063a3b3381427c62 MD5 · raw file

  1. #ifndef ExampleClass_H
  2. #define ExampleClass_H
  3. /** \class ExampleClass
  4. * An example of doxygen-documented class conforming to the CMS style rules.
  5. *
  6. * Features:<br>
  7. * -doxygen-style header (note the \class directive)<br>
  8. * -doxygen-like member function documentation<br>
  9. * -Few setters and getters
  10. *
  11. * $Date: $
  12. * $Revision: $
  13. * \author W. Woodpecker - CERN
  14. */
  15. #include <vector>
  16. class SomeAlgorithm;
  17. class ExampleClass {
  18. public:
  19. /// Constructor
  20. ExampleClass();
  21. /// Virtual Destructor
  22. virtual ~ExampleClass();
  23. /// A simple setter
  24. void setCount(int ticks);
  25. /// A simple getter
  26. int count() const;
  27. /// Another setter
  28. void setValues(const std::vector<float>& entries);
  29. /// A getter returning a const reference
  30. const std::vector<float>& values() const;
  31. /// A member function
  32. float computeMean() const;
  33. protected:
  34. private:
  35. int theCount; //< An int data member
  36. std::vector<float> theValues; //< A vector data member
  37. SomeAlgorithm * theAlgo; //< A pointer data member
  38. };
  39. #endif // ExampleClass_H