? linux
? examples/experiment/analyzer
? examples/experiment/frontend
? examples/slowcont/scfe
? gui/hvedit/qt/Makefile
? gui/hvedit/qt/hvEdit
? gui/hvedit/qt/moc_Qt_Connect.cpp
? gui/hvedit/qt/moc_Qt_Pwd.cpp
? gui/hvedit/qt/moc_Qt_hvEdit.cpp
? gui/hvedit/qt/moc_cmExperiment.cpp
? gui/hvedit/qt/Qt_Dlgs/Qt_Connect_Base.cpp
? gui/hvedit/qt/Qt_Dlgs/Qt_Connect_Base.h
? gui/hvedit/qt/Qt_Dlgs/Qt_Pwd_Base.cpp
? gui/hvedit/qt/Qt_Dlgs/Qt_Pwd_Base.h
? gui/hvedit/qt/Qt_Dlgs/Qt_fileList.cpp
? gui/hvedit/qt/Qt_Dlgs/Qt_fileList.h
? gui/hvedit/qt/Qt_Dlgs/Qt_hvEditAbout.cpp
? gui/hvedit/qt/Qt_Dlgs/Qt_hvEditAbout.h
? gui/hvedit/qt/Qt_Dlgs/Qt_hvEdit_Base.cpp
? gui/hvedit/qt/Qt_Dlgs/Qt_hvEdit_Base.h
? gui/hvedit/qt/Qt_Dlgs/moc_Qt_Connect_Base.cpp
? gui/hvedit/qt/Qt_Dlgs/moc_Qt_Pwd_Base.cpp
? gui/hvedit/qt/Qt_Dlgs/moc_Qt_fileList.cpp
? gui/hvedit/qt/Qt_Dlgs/moc_Qt_hvEditAbout.cpp
? gui/hvedit/qt/Qt_Dlgs/moc_Qt_hvEdit_Base.cpp
? gui/hvedit/qt/help/moc_helpwindow.cpp
? include/.midas.h.swp
===================================================================
RCS file: /usr/local/cvsroot/midas/include/midas.h,v
retrieving revision 1.148
diff -r1.148 midas.h
2272a2273,2275
> template<typename T>
> T EXPRT *book (const char *name, const char *title,
> int bins, double min, double max)
2276,2278d2278
< template<typename TH1X>
< TH1X EXPRT *h1_book(const char *name, const char *title,
< int bins, double min, double max)
2280c2280
< TH1X *hist;
---
> T *hist;
2284c2284
< hist = (TH1X *) gManaHistosFolder->FindObjectAny(name);
---
> hist = (T *) gManaHistosFolder->FindObjectAny(name);
2286c2286
< hist = (TH1X *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
---
> hist = (T *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
2289c2289
< hist = new TH1X(name, title, bins, min, max);
---
> hist = new T(name, title, bins, min, max);
2299,2301c2299,2300
< template<typename TH1X>
< TH1X EXPRT *h1_book(const char *name, const char *title,
< int bins, double edges[])
---
> template<typename T>
> T EXPRT *book(const char *name, const char *title, int bins, double edges[])
2303c2302
< TH1X *hist;
---
> T *hist;
2307c2306
< hist = (TH1X *) gManaHistosFolder->FindObjectAny(name);
---
> hist = (T *) gManaHistosFolder->FindObjectAny(name);
2309c2308
< hist = (TH1X *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
---
> hist = (T *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
2312c2311
< hist = new TH1X(name, title, bins, edges);
---
> hist = new T(name, title, bins, edges);
2322,2325c2321,2324
< template<typename TH2X>
< TH2X EXPRT *h2_book(const char *name, const char *title,
< int xbins, double xmin, double xmax,
< int ybins, double ymin, double ymax)
---
> template<typename T>
> T EXPRT *book(const char *name, const char *title,
> int xbins, double xmin, double xmax,
> int ybins, double ymin, double ymax)
2327c2326
< TH2X *hist;
---
> T *hist;
2331c2330
< hist = (TH2X *) gManaHistosFolder->FindObjectAny(name);
---
> hist = (T *) gManaHistosFolder->FindObjectAny(name);
2333c2332
< hist = (TH2X *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
---
> hist = (T *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
2336c2335
< hist = new TH2X(name, title, xbins, xmin, xmax, ybins, ymin, ymax);
---
> hist = new T(name, title, xbins, xmin, xmax, ybins, ymin, ymax);
2346,2349c2345,2348
< template<typename TH2X>
< TH2X EXPRT *h2_book(const char *name, const char *title,
< int xbins, double xmin, double xmax,
< int ybins, double yedges[])
---
> template<typename T>
> T EXPRT *book(const char *name, const char *title,
> int xbins, double xmin, double xmax,
> int ybins, double yedges[])
2351c2350
< TH2X *hist;
---
> T *hist;
2355c2354
< hist = (TH2X *) gManaHistosFolder->FindObjectAny(name);
---
> hist = (T *) gManaHistosFolder->FindObjectAny(name);
2357c2356
< hist = (TH2X *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
---
> hist = (T *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
2360c2359
< hist = new TH2X(name, title, xbins, xmin, xmax, ybins, yedges);
---
> hist = new T(name, title, xbins, xmin, xmax, ybins, yedges);
2370,2373c2369,2372
< template<typename TH2X>
< TH2X EXPRT *h2_book(const char *name, const char *title,
< int xbins, double xedges[],
< int ybins, double ymin, double ymax)
---
> template<typename T>
> T EXPRT *book(const char *name, const char *title,
> int xbins, double xedges[],
> int ybins, double ymin, double ymax)
2375c2374
< TH2X *hist;
---
> T *hist;
2379c2378
< hist = (TH2X *) gManaHistosFolder->FindObjectAny(name);
---
> hist = (T *) gManaHistosFolder->FindObjectAny(name);
2381c2380
< hist = (TH2X *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
---
> hist = (T *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
2384c2383
< hist = new TH2X(name, title, xbins, xedges, ybins, ymin, ymax);
---
> hist = new T(name, title, xbins, xedges, ybins, ymin, ymax);
2394,2397c2393,2396
< template<typename TH2X>
< TH2X EXPRT *h2_book(const char *name, const char *title,
< int xbins, double xedges[],
< int ybins, double yedges[])
---
> template<typename T>
> T EXPRT *book(const char *name, const char *title,
> int xbins, double xedges[],
> int ybins, double yedges[])
2399c2398
< TH2X *hist;
---
> T *hist;
2403c2402
< hist = (TH2X *) gManaHistosFolder->FindObjectAny(name);
---
> hist = (T *) gManaHistosFolder->FindObjectAny(name);
2405c2404
< hist = (TH2X *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
---
> hist = (T *) ((TFolder *)gHistoFolderStack->Last())->FindObjectAny(name);
2408c2407
< hist = new TH2X(name, title, xbins, xedges, ybins, yedges);
---
> hist = new T(name, title, xbins, xedges, ybins, yedges);
2422,2423c2421,2422
< #define H1_BOOK(n,t,b,min,max) (h1_book<TH1F>(n,t,b,min,max))
< #define H2_BOOK(n,t,xb,xmin,xmax,yb,ymin,ymax) (h2_book<TH2F>(n,t,xb,xmin,xmax,yb,ymin,ymax))
---
> #define H1_BOOK(n,t,b,min,max) (book<TH1F>(n,t,b,min,max))
> #define H2_BOOK(n,t,xb,xmin,xmax,yb,ymin,ymax) (book<TH2F>(n,t,xb,xmin,xmax,yb,ymin,ymax))
2425c2424,2469
< TCutG *cut_book( const char *name);
---
> /*
> * The following obsolete calls are here for backwards compatibility.
> * They are inlined, so incur no performance hit.
> */
> template<typename TH1X>
> inline TH1X EXPRT *h1_book(const char *name, const char *title,
> int bins, double min, double max) {
> return book<TH1X>( name, title, bins, min, max);
> }
> template<typename TH1X>
> inline TH1X EXPRT *h1_book(const char *name, const char *title,
> int bins, double edges[]) {
> return book<TH1X>( name, title, bins, edges);
> }
> template<typename TH2X>
> inline TH2X EXPRT *h2_book(const char *name, const char *title,
> int xbins, double xmin, double xmax,
> int ybins, double ymin, double ymax) {
> return book<TH2X>( name, title, xbins, xmin, xmax, ybins, ymin, ymax);
> }
> template<typename TH2X>
> inline TH2X EXPRT *h2_book(const char *name, const char *title,
> int xbins, double xmin, double xmax,
> int ybins, double yedges[]) {
> return book<TH2X>( name, title, xbins, xmin, xmax, ybins, yedges);
> }
> template<typename TH2X>
> inline TH2X EXPRT *h2_book(const char *name, const char *title,
> int xbins, double xedges[],
> int ybins, double ymin, double ymax) {
> return book<TH2X>( name, title, xbins, xedges, ybins, ymin, ymax);
> }
> template<typename TH2X>
> inline TH2X EXPRT *h2_book(const char *name, const char *title,
> int xbins, double xedges[],
> int ybins, double yedges[]) {
> return book<TH2X>( name, title, xbins, xedges, ybins, yedges);
> }
>
> template<typename T>
> T EXPRT *book (const char *name); // generic object not implemented
> /*
> * but some simple objects are implemented via specializations
> */
> template<>
> TCutG EXPRT *book<TCutG> (const char *name);
? src/.mana.c.swp
Index: src/mana.c
===================================================================
RCS file: /usr/local/cvsroot/midas/src/mana.c,v
retrieving revision 1.132
diff -r1.132 mana.c
3945c3945,3946
< TCutG *cut_book (const char *name) {
---
> template<>
> TCutG EXPRT *book<TCutG> (const char *name) {
|