Changeset 2491
- Timestamp:
- 11/10/03 11:25:13 (21 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r2490 r2491 1 1 -*-*- END OF LINE -*-*- 2 2 3 2003/11/10: Nicola Galante3 2003/11/10: Thomas Bretz 4 4 5 5 * macros/dohtml.C: … … 45 45 - removed obsolete include of iosfwd 46 46 47 * Makefile: 48 - changed makedepend line size 49 - renamed shared object from mars.so to libmars.so 50 - moved shared object from lib-directory to mars root directory 51 - make all executables load the shared object instead of statically 52 linking 53 54 * Makefile.conf.darwin, Makefile.conf.linux, Makefile.conf.linux-gnu, 55 Makefile.conf.osf1, Makefile.conf.osf5.1: 56 - removed obsolete SUBDIRS in MARS_LIB 57 58 * mars.cc: 59 - do not show logo if command line arguments are wrong 60 61 * macros/rootlogon.C: 62 - load libmars.so instead of lib/mars.so 63 - added mreflector to include path 64 65 * mmain/MStatusDisplay.[h,cc]: 66 - secure UpdateTab with a TMutex 67 - do not use MGTextView for root versions >= 3.02.05 68 - fixed a crash when all tabs where deleted, no tab was active 69 anymore 70 - show when updating postscript header 71 47 72 48 73 … … 50 75 51 76 * mhistmc/MHMcTriggerLvl2.[cc,h]: 52 - Changed binning of histograms fHistLutPseudoSize, fHistLutPseudoSizeNorm, 53 fHistSizeBiggerCell, fHistSizeBiggerCellNorm to fix an overflow bug 54 - In method GetHistByName(const TString name): changed the class of the returned object, 55 now it returns a (TObject *), no more a (TH1F *), in order to return 56 either (TH1 *) than (TH2 *); changed the order by which it checks the name of the 77 - Changed binning of histograms fHistLutPseudoSize, 78 fHistLutPseudoSizeNorm, fHistSizeBiggerCell, 79 fHistSizeBiggerCellNorm to fix an overflow bug 80 - In method GetHistByName(const TString name): changed the class 81 of the returned object, now it returns a (TObject *), no more 82 a (TH1F *), in order to return either (TH1 *) than (TH2 *); 83 changed the order by which it checks the name of the 57 84 histogram in order to fix a bug in the lexing 58 85 -
trunk/MagicSoft/Mars/Makefile
r2487 r2491 20 20 # 21 21 22 PROGRAMS = readraw merpp star mars 23 SOLIB = mars.so 22 #PROGRAMS = readraw merpp mars test mona status 23 PROGRAMS = readraw merpp mars 24 SOLIB = libmars.so 24 25 CINT = M 25 26 … … 37 38 SUBDIRS = mbase \ 38 39 mmain \ 40 mfilter \ 41 mdata \ 42 mhist \ 43 manalysis \ 39 44 mfileio \ 40 45 mreflector \ 41 mhist \42 46 mdatacheck \ 43 47 mgeom \ 44 48 mimage \ 45 manalysis \46 49 mmontecarlo \ 47 50 mmc \ … … 49 52 mgui \ 50 53 mranforest \ 51 mdata \52 54 mhistmc \ 53 mfilter \54 55 mtools 55 56 57 # monline \ 58 59 #LIBRARIES = $(SUBDIRS:%=lib/lib%.a) 56 60 LIBRARIES = $(SUBDIRS:=.a) 57 61 MRPROPERS = $(SUBDIRS:=.mrproper) … … 62 66 .SUFFIXES: .c .cc .h .o 63 67 64 SRCFILES = 68 SRCFILES = 65 69 66 70 SRCS = $(SRCFILES) … … 84 88 @echo " Linking $(SOLIB) ..." 85 89 $(CXX) $(DYNLIB) $(CXXFLAGS) $(SUBDIRS:=/*.o) $(ROOTGLIBS) -o $@ 86 mv mars.so lib87 90 88 $(PROGRAMS): $( LIBRARIES) $(OBJS) $(HEADERS) MCint.o $(PROGRAMS:=.o)91 $(PROGRAMS): $(SOLIB) $(PROGRAMS:=.o) 89 92 @echo " Linking $@ ..." 90 $(CXX) $(CXXFLAGS) $ @.o $(OBJS) $(MARS_LIB) MCint.o $(ROOTGLIBS) -o $@93 $(CXX) $(CXXFLAGS) $(ROOTGLIBS) $(SOLIB) $@.o $(MARS_LIB) -o $@ 91 94 92 95 # … … 114 117 $(LIBRARIES): 115 118 @echo " Creating lib$@:" 116 (cd $*; make; cd ..; mv $*/$@ lib/lib$@) 119 (cd $*; make; cd ..; mv $*/$@ lib/lib$@) 120 # (cd $(@:lib/lib%.a=%); make; cd ..; mv $(@:lib/lib%.a=%)/$(@:lib/lib%=%) $@) 117 121 118 122 $(MRPROPERS): … … 137 141 @echo "Making tar-file" 138 142 @root -b -q -l -n tar.C 139 # @tar cvf ../mars.tar --exclude=Root .roo 143 # @tar cvf ../mars.tar --exclude=Root .rootrc * 140 144 # @gzip -9 ../mars.tar 141 145 142 depend:146 Makefile.depend: 143 147 (! find ./ Makefile.depend -maxdepth 1 -empty 2> /dev/null && \ 144 148 echo " Generating dependancies into Makefile.depend" && \ 145 makedepend -- $(INCLUDES) -- $(PROGRAMS:=.cc) $(SRCS) $(SUBDIRS:=/*.cc) - f- 2> /dev/null | grep -v Cint | grep -v "/usr/" > Makefile.depend && \149 makedepend -- $(INCLUDES) -- $(PROGRAMS:=.cc) $(SRCS) $(SUBDIRS:=/*.cc) -w1024 -f- 2> /dev/null | grep -v Cint | grep -v "/usr/" > Makefile.depend && \ 146 150 echo " ") || find -maxdepth 0 -true > /dev/null 147 151 148 Makefile.depend: depend 152 depend: Makefile.depend 149 153 150 154 # @endcode -
trunk/MagicSoft/Mars/Makefile.conf.darwin
r2263 r2491 29 29 # For producing gmon.out use '-pg' 30 30 31 MARS_LIB = -Llib $(SUBDIRS:%=-l%) $(MARSLIBS) 31 #MARS_LIB = -Llib $(SUBDIRS:%=-l%) $(MARSLIBS) 32 MARS_LIB = -Llib $(MARSLIBS) 32 33 INCLUDES = -I. $(SUBDIRS:%=-I%) 33 34 -
trunk/MagicSoft/Mars/Makefile.conf.linux
r2263 r2491 27 27 28 28 # For debugging information use '-g' 29 # For producing gmon.out use '-pg' 29 # For producing gmon.out use '-pg' (needs static linking) 30 30 31 MARS_LIB = -Llib $(SUBDIRS:%=-l%) $(MARSLIBS) 31 #MARS_LIB = -Llib $(SUBDIRS:%=-l%) $(MARSLIBS) 32 MARS_LIB = -Llib $(MARSLIBS) 32 33 INCLUDES = -I. $(SUBDIRS:%=-I%) 33 34 -
trunk/MagicSoft/Mars/Makefile.conf.linux-gnu
r2264 r2491 21 21 22 22 OPTIM = -O5 -Wall -fno-rtti -fnonnull-objects -fno-exceptions -fPIC -Wtraditional -Wpointer-arith -Wcast-align -Wconversion -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Woverloaded-virtual 23 DEBUG = 23 DEBUG = 24 24 ARCHDEF = -D__LINUX__ 25 25 DYNLIB = -shared … … 32 32 # For producing gmon.out use '-pg' 33 33 34 MARS_LIB = -Llib $(SUBDIRS:%=-l%) $(MARSLIBS) 34 #MARS_LIB = -Llib $(SUBDIRS:%=-l%) $(MARSLIBS) 35 MARS_LIB = -Llib $(MARSLIBS) 35 36 INCLUDES = -I. $(SUBDIRS:%=-I%) 36 37 -
trunk/MagicSoft/Mars/Makefile.conf.osf1
r2264 r2491 28 28 DYNLIB = -shared 29 29 30 MARS_LIB = -Llib $(SUBDIRS/*/-l&) $(MARSLIBS) 30 #MARS_LIB = -Llib $(SUBDIRS/*/-l&) $(MARSLIBS) 31 MARS_LIB = -Llib $(MARSLIBS) 31 32 INCLUDES = -I. $(SUBDIRS/*/-I&) 32 33 -
trunk/MagicSoft/Mars/Makefile.conf.osf5.1
r2264 r2491 28 28 DYNLIB = -shared 29 29 30 MARS_LIB = -Llib $(SUBDIRS/*/-l&) $(MARSLIBS) 30 #MARS_LIB = -Llib $(SUBDIRS/*/-l&) $(MARSLIBS) 31 MARS_LIB = -Llib $(MARSLIBS) 31 32 INCLUDES = -I. $(SUBDIRS/*/-I&) 32 33 -
trunk/MagicSoft/Mars/macros/rootlogon.C
r2236 r2491 25 25 Bool_t isloaded() 26 26 { 27 TString str = gSystem->GetLibraries(" */mars.so");27 TString str = gSystem->GetLibraries("libmars.so"); 28 28 29 29 return !str.IsNull(); … … 35 35 return; 36 36 37 cout << "Unloading ' mars.so'... " << flush;38 if (gSystem->Unload(" mars.so"))37 cout << "Unloading 'libmars.so'... " << flush; 38 if (gSystem->Unload("libmars.so")) 39 39 cout << "error." << endl; 40 40 else … … 47 47 return; 48 48 49 cout << "Loading ' mars.so'... " << flush;49 cout << "Loading 'libmars.so'... " << flush; 50 50 51 if (gSystem->Load(dir.IsNull() ? " mars.so" : dir+"lib/mars.so")!=0)51 if (gSystem->Load(dir.IsNull() ? "libmars.so" : dir+"libmars.so")!=0) 52 52 cout << "error." << endl; 53 53 else … … 106 106 gInterpreter->AddIncludePath(dir+"mranforest"); 107 107 gInterpreter->AddIncludePath(dir+"mraw"); 108 gInterpreter->AddIncludePath(dir+"mreflector"); 108 109 gInterpreter->AddIncludePath(dir+"mtools"); 109 110 -
trunk/MagicSoft/Mars/mars.cc
r2456 r2491 76 76 int main(int argc, char **argv) 77 77 { 78 #ifdef HAVE_XPM79 MLogo logo;80 logo.Popup();81 #endif82 83 78 StartUpMessage(); 84 79 … … 121 116 else 122 117 gLog.SetDebugLevel(2); 118 119 #ifdef HAVE_XPM 120 MLogo logo; 121 logo.Popup(); 122 #endif 123 123 124 124 // -
trunk/MagicSoft/Mars/mbase/MLog.cc
r2232 r2491 101 101 102 102 #ifdef _REENTRANT 103 // FIXME: Replace Mutex by TMutex 103 104 #include <pthread.h> 104 105 #endif -
trunk/MagicSoft/Mars/mmain/MStatusDisplay.cc
r2484 r2491 107 107 108 108 // ------------ Workaround for a non working TGTextView::Search ------------- 109 #if ROOT_VERSION_CODE < ROOT_VERSION(3,02,05) 109 110 class MGTextView : public TGTextView 110 111 { … … 165 166 } 166 167 }; 168 #else 169 #define MGTextView TGTextView 170 #endif 167 171 // -------------------------------------------------------------------------- 168 172 … … 566 570 567 571 fFont = gVirtualX->LoadQueryFont("7x13bold"); 572 fMutex = new TMutex; 568 573 569 574 // … … 666 671 if (fFont) 667 672 gVirtualX->DeleteFont(fFont); 673 674 // 675 // Delete mutex 676 // 677 delete fMutex; 668 678 } 669 679 … … 820 830 821 831 // layout and map new tab 822 Layout(); 823 MapSubwindows(); 824 Layout(); 832 Layout(); // seems to layout the TGCompositeFrame 833 MapSubwindows(); // maps the TGCompositeFrame 834 Layout(); // layout the embedded canvas in the frame 825 835 826 836 // display new tab in the main frame … … 864 874 // the main thread. 865 875 // 866 // NOTE: Maybe there is still need to make sure, that only867 // one thread can update the canvas by calling UpdateTab868 // at the same time. Could be done by a TMutex.869 //870 876 if (gThreadXAR) 871 877 { … … 881 887 } 882 888 883 #if ROOT_VERSION_CODE < ROOT_VERSION(3,10,01) 889 // 890 // Secure calls to update the tabs against itself, at least 891 // c->Paint() or c->Flush() may crash X (bad drawable). 892 // This makes sure, that a X call is not interuppted by 893 // another X-call which was started from an gui interrrupt 894 // in the same thread 895 // 896 if (mutex->TryLock()==13) 897 return; 898 899 #if ROOT_VERSION_CODE < ROOT_VERSION(3,10,02) 884 900 TPad *padsav = (TPad*)gPad; 885 901 if (!gPad) … … 897 913 c->Flush(); // Copy all pad pixmaps to the screen 898 914 899 #if ROOT_VERSION_CODE < ROOT_VERSION(3,10,0 1)915 #if ROOT_VERSION_CODE < ROOT_VERSION(3,10,02) 900 916 if (padsav) 901 917 padsav->cd(); … … 903 919 gPad=NULL; 904 920 #endif 921 905 922 //c->SetCursor(kCross); 906 923 … … 909 926 //c->Update(); 910 927 //c->Paint(); 928 929 mutex->UnLock(); 911 930 } 912 931 … … 979 998 980 999 fTab->RemoveTab(i); 1000 fTab->SetTab(0); 1001 1002 // Looks strange... 1003 // const Int_t n = fTab->GetNumberOfTabs(); 1004 // fTab->SetTab(i<=n-1 ? i : i-1); 981 1005 982 1006 // layout and map new tab 983 #if ROOT_VERSION_CODE < ROOT_VERSION(3,03,00) 984 MapSubwindows(); 985 Layout(); 986 #else 987 Layout(); 988 MapSubwindows(); 989 #endif 1007 Layout(); // seems to layout the TGCompositeFrame 1008 MapSubwindows(); // maps the TGCompositeFrame 1009 Layout(); // layout the embedded canvas in the frame 990 1010 991 1011 // display new tab in the main frame … … 1858 1878 1859 1879 ps.Close(); 1860 1861 if (num<0)1862 *fLog << inf << " - ";1863 1864 SetStatusLine2("Updating Postscript header...");1865 *fLog << inf << "Updating Postscript header..." << flush;1866 1880 UpdatePSHeader(name); 1867 *fLog << inf << "done." << endl;1868 1869 1881 1870 1882 gVirtualPS = psave; -
trunk/MagicSoft/Mars/mmain/MStatusDisplay.h
r2477 r2491 20 20 class TPad; 21 21 class TTimer; 22 class TMutex; 22 23 class TCanvas; 23 24 … … 64 65 TGLayoutHints *fLayCanvas; 65 66 66 TTimer fTimer; 67 TTimer fTimer; 68 TMutex *fMutex; 67 69 68 70 TGStatusBar *fStatusBar; … … 122 124 123 125 void StartUpdate(Int_t millisec=-1); 124 void StopUpdate(); 125 void SetUpdateTime(Long_t t); 126 void StopUpdate(); 127 void SetUpdateTime(Long_t t); 126 128 127 129 void SetProgressBarPosition(Float_t p);
Note:
See TracChangeset
for help on using the changeset viewer.