source: Sophya/trunk/SophyaPI/PIext/pintuple.h@ 4015

Last change on this file since 4015 was 3269, checked in by ansari, 18 years ago

Ajout des commandes nt2dcn et nt2dci , modifs PINtuple pour permettre l'utilisation d'une colonne pour specifier la couleur de trace de chaque marker - Reza 19/06/2007

File size: 3.0 KB
RevLine 
[344]1// This may look like C code, but it is really -*- C++ -*-
2// Module PI : Peida Interactive PINTuple et PINTupleWdg
3// Traceur d objet de type NTupleInterface
4
[165]5#ifndef PINTUPLE_H
6#define PINTUPLE_H
7
[326]8#include "ntupintf.h"
[165]9#include "pidrawer.h"
10
11class PINTuple : public PIDrawer {
12public:
[326]13 PINTuple(NTupleInterface* nt, bool ad);
[165]14 virtual ~PINTuple();
15
[1971]16
[205]17 virtual void Draw(PIGraphicUC* g, double xmin, double ymin, double xmax, double ymax);
[165]18 virtual void UpdateLimits();
19
[344]20 virtual void SelectXY(const char* px, const char* py);
[2373]21 virtual void SelectWt(const char* pw=NULL);
[344]22 virtual void SelectErrBar(const char* erbx=NULL, const char* erby=NULL);
[486]23 virtual void SelectLabel(const char* plabel=NULL);
[3269]24 virtual void SelectColorByName(const char* pcolnm=NULL);
25 virtual void SelectColorByIndex(const char* pcolidx=NULL);
[165]26
[2350]27 inline void ConnectPoints(bool fg=false) { connectPts = fg; }
28
[2373]29 // Gestion de la representation de poids
30 inline void UseSizeScale(bool fg=true, int nbins=5)
31 { mrkSzScale = fg; if (nbins>0) nWbins = nbins; }
32 inline void UseColorScale(bool fg=true) { colorScale = fg; }
33
34 inline bool GetSizeScale(int& nbins)
35 { nbins = nWbins; return mrkSzScale; }
36 inline bool GetColScale() { return colorScale; }
37
38 inline void SetStats(bool fg=true) { stats = fg; }
[3149]39 inline void SetStatPosOffset(double ofx=-0.01, double ofy=-0.01)
[2383]40 {spoX=ofx; spoY=ofy; }
[2373]41
[344]42 virtual void AppendTextInfo(string& info, double xmin, double ymin, double xmax, double ymax);
[1971]43
44// Methode de decodage des options
45 virtual int DecodeOptionString(vector<string> & opt, bool rmdecopt=true);
[2524]46 virtual int OptionToString(vector<string> & opt) const;
[1975]47// Texte d'aide des options disponibles
48 virtual void GetOptionsHelpInfo(string& info);
[2517]49
50// Renvoie une distance au point x,y
51 virtual double GetDistanceToPoint(double x, double y);
[165]52
53protected:
[326]54 NTupleInterface* mNT;
[165]55 bool mAdDO;
56 int xK, yK; // Index du nom de variable en X/Y ds le ntuple
57 int xebK, yebK; // Index du nom de variable en ErrBarX/Y ds le ntuple
[333]58 int wK; // Index du nom de variable poids
[486]59 int lK; // Index du nom de variable label (affiche en texte)
[3269]60 int cnK; // Index du nom de variable couleur (par nom de couleur)
61 int ciK; // Index du nom de variable couleur (par index de couleur)
[2373]62 double wMin, wMax; // Valeurs de poids min/max
63 bool mrkSzScale; // true -> Taille de markers variable suivant poids
64 int nWbins; // Nombre de bins taille de marker variable
65 bool colorScale; // true -> Couleur de marker variable suivant poids
[544]66 bool stats; // true -> indication du nb de points
[2350]67 bool connectPts; // true -> les points sont relies par une ligne
[3149]68 double spoX, spoY; // Stat pos offset par rapport a position defaut
[2517]69 long NptDraw; // nombre de points effectivement dessines dans la fenetre
[165]70};
71
72#endif
73
74
75
76
Note: See TracBrowser for help on using the repository browser.