Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TPolyMarker.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/hist:$Id$
0002 // Author: Rene Brun   12/12/94
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TPolyMarker
0013 #define ROOT_TPolyMarker
0014 
0015 
0016 //////////////////////////////////////////////////////////////////////////
0017 //                                                                      //
0018 // TPolyMarker                                                          //
0019 //                                                                      //
0020 // An array of points with the same marker.                             //
0021 //                                                                      //
0022 //////////////////////////////////////////////////////////////////////////
0023 
0024 
0025 #include "TObject.h"
0026 #include "TAttMarker.h"
0027 #include "TString.h"
0028 
0029 class TCollection;
0030 
0031 class TPolyMarker : public TObject, public TAttMarker {
0032 protected:
0033    Int_t       fN{0};             ///< Number of points
0034    Int_t       fLastPoint{-1};    ///< The index of the last filled point
0035    Double_t   *fX{nullptr};       ///<[fN] Array of X coordinates
0036    Double_t   *fY{nullptr};       ///<[fN] Array of Y coordinates
0037    TString     fOption;           ///< Options
0038 
0039    TPolyMarker& operator=(const TPolyMarker&);
0040 
0041 public:
0042    TPolyMarker();
0043    TPolyMarker(Int_t n, Option_t *option="");
0044    TPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="");
0045    TPolyMarker(Int_t n, Double_t *x, Double_t *y, Option_t *option="");
0046    TPolyMarker(const TPolyMarker &polymarker);
0047    ~TPolyMarker() override;
0048    void     Copy(TObject &polymarker) const override;
0049    Int_t    DistancetoPrimitive(Int_t px, Int_t py) override;
0050    void     Draw(Option_t *option="") override;
0051    virtual void     DrawPolyMarker(Int_t n, Double_t *x, Double_t *y, Option_t *option="");
0052    void     ExecuteEvent(Int_t event, Int_t px, Int_t py) override;
0053    virtual Int_t    GetLastPoint() const { return fLastPoint;}
0054    virtual Int_t    GetN() const {return fN;}
0055    Option_t        *GetOption() const override {return fOption.Data();}
0056    Double_t        *GetX() const {return fX;}
0057    Double_t        *GetY() const {return fY;}
0058    void     ls(Option_t *option="") const override;
0059    virtual Int_t    Merge(TCollection *list);
0060    void     Paint(Option_t *option="") override;
0061    virtual void     PaintPolyMarker(Int_t n, Double_t *x, Double_t *y, Option_t *option="");
0062    void     Print(Option_t *option="") const override;
0063    void     SavePrimitive(std::ostream &out, Option_t *option = "") override;
0064    virtual Int_t    SetNextPoint(Double_t x, Double_t y); // *MENU*
0065    virtual void     SetPoint(Int_t point, Double_t x, Double_t y); // *MENU*
0066    virtual void     SetPolyMarker(Int_t n);
0067    virtual void     SetPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="");
0068    virtual void     SetPolyMarker(Int_t n, Double_t *x, Double_t *y, Option_t *option="");
0069    virtual Int_t    Size() const {return fLastPoint+1;}
0070 
0071    ClassDefOverride(TPolyMarker,4)  //An array of points with the same marker
0072 };
0073 
0074 #endif