Rene Brun wrote: > > Hi Selim, > > I cannot reproduce this problem. Which version are you using ? > Could you send me a small & working macro to show your problem ? In the macro it works fine. The problem arises, when I use a compiled class-member-function, in which the axis titles are set. I've attached StyledCanvas.C/H to this email. The memberfunction 'null' is the one of concern. I create mydict.C via: mydict.C: StyledCanvas.H rm -f mydict.C rootcint mydict.C -c StyledCanvas.H moLinkDef.h I've also attached moLinkDef.h to this email. When I compile all this and startup my own flavor of root: ================================================================== [hb-sun02] ~/public/analysis/7of9 $ BorgTransmitter Neural tranceiver turned on. Connecting to the collective! Cube OS: Solaris_sparc Listen to your drone: 7 of 9. ******************************************* * * * W E L C O M E to R O O T * * * * Version 2.21/05 10 February 1999 * * * * You are welcome to visit our Web site * * http://root.cern.ch * * * ******************************************* CINT/ROOT C/C++ Interpreter version 5.13.88, Jan 17 1999 Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }. A softspoken, smug voice in your brain: "Welcome to the collective. You will be assigned a name: 43 of 81." subspace transmission: StyledCanvas *a = new StyledCanvas(); subspace transmission: a->null(0,1,0,1) ===================================================================== and again, I get an "X" at the y axis and nothing at the x axis,.. I hope to be not too much confusing,... Thanks a lot and Best Wishes, Selim > Rene Brun > > Selim Issever wrote: > > > > Hi,.. > > > > I've the following following member function of a class called moBase: > > > > void moBase::test() { > > cout << "Test start:" << endl; > > > > static TH2C* a = 0; > > if(a) delete a; > > > > a = new TH2C("Kirk", "", 250, 0, 2, 250, 0, 3); > > a->SetXTitle("X"); > > a->SetYTitle("Y"); > > a->Draw(); > > > > cout << "Test is successful!" << endl; > > } > > > > I compile the whole thing, > > create my own rootapplication, > > start it, > > in cint create an object m of type mo (inherits from moBase) and then: > > m.test() > > > > This gives me a histogram with the right sizes but with no x axis title and > > with "X" as y axis title. > > > > Strange enough: if I now type in > > Kirk->SetXTitle("aaa") > > I get, what I want: a title at the x axis. > > > > If I play all the game in mo::test() from within cint, it works too?!?,.. Do > > you think, there is something strange with my objects? or is it real? do you > > know, how I can get what I want to get? > > > > Thanks a lot, > > Selim > > > > -- > > Selim Issever | Tel: 040 8998-2843 +---- I'd horsewhip you -------- > > DESY-F15 | Fax: 040 8998-4033 +--------- if I had a horse. --- > > Notkestr. 85 | selim.issever@desy.de +--------------- Groucho Marx -- > > 22603 Hamburg/Germany | http://www.physik.uni-dortmund.de/~issevers -- Selim Issever | Tel: 040 8998-2843 +- It is nothing; they are only - DESY-F15 | Fax: 040 8998-4033 +- killing my husband. ----- Notkestr. 85 | selim.issever@desy.de +----- Portuguese Proverb ------- 22603 Hamburg/Germany | http://www.physik.uni-dortmund.de/~issevers ----------------------------------------------------------------------- This signature was automatically generated with Signify v1.04. For this and other cool products, check out http://www.verisim.com/ #include "StyledCanvas.H" #include <iostream.h> #include <stdlib.h> extern TVirtualPad *gPad; // =============================================================================== // =============================================================================== // =============================================================================== StyledCanvas::StyledCanvas() { pH = 0; // init the rest pCanvas = new TCanvas("pCanvas", "Believe it!", 0, 0, 825, 500); pCanvas->Draw(); pCanvas->Update(); pCanvas->cd(); } void StyledCanvas::null(Axis_t xmin, Axis_t xmax, Axis_t ymin, Axis_t ymax, char* title="") { if ( pH ) { delete pH; } pH = new TH2C("Kirk", title, 250, xmin, xmax, 250, ymin, ymax); pH->SetXTitle("X"); pH->SetYTitle("Y"); pH->Draw(); pCanvas->Update(); } #ifndef StyledCanvas_H #define StyledCanvas_H #include "TCanvas.h" #include "TNtuple.h" #include "TTree.h" #include "TPaveLabel.h" #include "TGraph.h" #include "TPad.h" #include "TH2.h" #include "Date.H" class StyledCanvas { public: StyledCanvas(); void null (float xmin, float xmax, float ymin, float ymax, char *title=""); private: // === main stuff TCanvas *pCanvas; TH2C *pH; }; #endif #ifdef __CINT__ #pragma link off all globals; #pragma link off all classes; #pragma link off all functions; #pragma link C++ enum OvStyle; #pragma link C++ class mo; #pragma link C++ class moBase; #pragma link C++ class StyledCanvas; #pragma link C++ class DateRangeList; #pragma link C++ class DateRange; #pragma link C++ class Date; #endif
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:42 MET