StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
GenericFile.h
1 #ifndef GenericFile_h
2 #define GenericFile_h
3 
4 #include "TMapFile.h"
5 #include "TFile.h"
6 #include <iostream>
7 
8 class GenericFile {
9  public:
10  GenericFile(TMapFile* file) : mMapFile(file), mHisFile(0) {}
11  GenericFile(TFile* file) : mMapFile(0), mHisFile(file) { }
12  GenericFile( const GenericFile* file)
13  : mMapFile(file->mMapFile), mHisFile(file->mHisFile) {}
14  TObject* file() {
15  if (mMapFile ) return mMapFile;
16  if (mHisFile ) return mHisFile;
17  return 0;
18  }
19  TMapFile* mapFile() { return mMapFile; }
20  TFile* hisFile() { return mHisFile; }
21  TObject* Get(const char* name, TObject* o=0) {
22  if ( mMapFile ) {
23  return mMapFile->Get(name,o);
24  }
25  if ( mHisFile ) return mHisFile->Get(name);
26  return 0;
27  }
28  protected:
29  TMapFile* mMapFile;
30  TFile* mHisFile;
31 };
32 
33 #endif
34 
35 
36 
37 
38 
39 /***************************************************************************
40  *
41  * $Id: GenericFile.h,v 1.1 2009/01/12 18:32:51 fine Exp $
42  *
43  * Author: Frank Laue, laue@bnl.gov
44  ***************************************************************************
45  *
46  * Description:
47  *
48  ***************************************************************************
49  *
50  * $Log: GenericFile.h,v $
51  * Revision 1.1 2009/01/12 18:32:51 fine
52  * Move GenericFile to St_base to remove IN_PANITKIN from muEztPanitkin/EEqaPresenter
53  *
54  * Revision 1.1 2007/02/27 15:23:37 laue
55  * Initial version
56  *
57  * Revision 1.1 2006/10/04 20:31:16 laue
58  * Initial Version
59  *
60  *
61  ***************************************************************************/
62