Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:10:36

0001 /*************************************************************************
0002  * Copyright (C) 1995-2021, Rene Brun and Fons Rademakers.               *
0003  * All rights reserved.                                                  *
0004  *                                                                       *
0005  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0006  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0007  *************************************************************************/
0008 
0009 #ifndef ROOT7_RAttrMarker
0010 #define ROOT7_RAttrMarker
0011 
0012 #include <ROOT/RAttrAggregation.hxx>
0013 #include <ROOT/RAttrValue.hxx>
0014 
0015 namespace ROOT {
0016 namespace Experimental {
0017 
0018 /** \class RAttrMarker
0019 \ingroup GpadROOT7
0020 \authors Axel Naumann <axel@cern.ch> Sergey Linev <s.linev@gsi.de>
0021 \date 2018-10-12
0022 \brief A marker attributes.
0023 \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!
0024 */
0025 
0026 class RAttrMarker : public RAttrAggregation {
0027 
0028    R__ATTR_CLASS(RAttrMarker, "marker");
0029 
0030    enum EStyle {
0031       kNone = 0,
0032       kDot = 1,
0033       kPlus = 2,
0034       kStar = 3,
0035       kCircle = 4,
0036       kMultiply = 5,
0037       kFullDotSmall = 6,
0038       kFullDotMedium = 7,
0039       kFullDotLarge = 8,
0040       kFullCircle = 20,
0041       kFullSquare = 21,
0042       kFullTriangleUp = 22,
0043       kFullTriangleDown = 23,
0044       kOpenCircle = 24,
0045       kOpenSquare = 25,
0046       kOpenTriangleUp = 26,
0047       kOpenDiamond = 27,
0048       kOpenCross = 28,
0049       kFullStar = 29,
0050       kOpenStar = 30,
0051       kOpenTriangleDown = 32,
0052       kFullDiamond = 33,
0053       kFullCross = 34,
0054       kOpenDiamondCross = 35,
0055       kOpenSquareDiagonal = 36,
0056       kOpenThreeTriangles = 37,
0057       kOctagonCross = 38,
0058       kFullThreeTriangles = 39,
0059       kOpenFourTrianglesX = 40,
0060       kFullFourTrianglesX = 41,
0061       kOpenDoubleDiamond = 42,
0062       kFullDoubleDiamond = 43,
0063       kOpenFourTrianglesPlus = 44,
0064       kFullFourTrianglesPlus = 45,
0065       kOpenCrossX = 46,
0066       kFullCrossX = 47,
0067       kFourSquaresX = 48,
0068       kFourSquaresPlus = 49
0069    };
0070 
0071 public:
0072 
0073    RAttrValue<RColor> color{this, "color", RColor::kBlack}; ///<! marker color
0074    RAttrValue<double> size{this, "size", 0.01};             ///<! marker size >1 pixels, <1 relative to pad height
0075    RAttrValue<EStyle> style{this, "style", kDot};           ///<! marker style
0076 
0077    RAttrMarker(const RColor &_color, double _size, EStyle _style) : RAttrMarker()
0078    {
0079       color = _color;
0080       size = _size;
0081       style = _style;
0082    }
0083 
0084 };
0085 
0086 } // namespace Experimental
0087 } // namespace ROOT
0088 
0089 #endif