|
|
[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] |
||||
|   | ||||||
|
||||||
001 //-------------------------------------------------------------------------- 002 // File and Version Information: 003 // $Id: AbsEnv.hh,v 1.31 2003/04/18 19:31:17 sexton Exp $ 004 // 005 // Description: 006 // Class AbsEnv 007 // 008 // Top level of the "environment tree" for CDF reconstruction 009 // software 010 // 011 // Author List: 012 // Bob Jacobsen Original Author 013 // Liz Sexton-Kennedy Modified for use by CDF 014 // 015 //------------------------------------------------------------------------ 016 017 #ifndef ABSENV_HH 018 #define ABSENV_HH 019 020 //------------------------------------ 021 // Collaborating Class Declarations -- 022 //------------------------------------ 023 #include <string> 024 #include "EdmUtilities/RecordType.hh" 025 026 class APPInputModule; 027 class AbsEvent; 028 class RunSectionRanges; 029 030 #ifndef __CINT__ 031 typedef long long int8; 032 #endif 033 // --------------------- 034 // -- Class Interface -- 035 // --------------------- 036 037 class AbsEnv { 038 039 friend class APPInputModule; // input modules fill this class 040 041 public: 042 043 // Destructor 044 virtual ~AbsEnv( ); 045 046 // Normal member functions 047 int runNumber() const; 048 int trigNumber() const; 049 int numberOfRS() const; 050 #ifndef __CINT__ 051 int8 runSection() const; 052 #endif 053 int sectionNumber() const; 054 bool monteFlag() const; 055 int runType() const; 056 057 edm::RecordType currentRecordType() const; 058 std::string dataOrigin() const; 059 int fdPipe() const; 060 int numberOfEvInRun( ) const; 061 const RunSectionRanges* inputRSRanges() const; 062 063 // Static member functions 064 static AbsEnv* instance( ); 065 066 static AbsEvent* theJobRecord( ); 067 static AbsEvent* theRunRecord( ); 068 static AbsEvent* theEvent( ); 069 070 const char* rcsId( ) const; 071 072 private: 073 // Constructors 074 AbsEnv(); 075 076 // These member functions are private because only the input module 077 // should be able to set them. 078 void setRunNumber(const int runNumber); 079 void setTrigNumber(const int trigNumber); 080 void setMonteFlag(const bool monteFlag); 081 void setRunType(const int runType); 082 void setCurrentRecordType(const edm::RecordType type); 083 #ifndef __CINT__ 084 void setRunSection(const int8 runSection); 085 #endif 086 void setOrigin(const std::string origin); 087 void setInputRSRanges(RunSectionRanges* inFileRSs); 088 void setFdPipe(const int fdPipe); 089 void setNumberOfRS( const int nRS ); 090 void setNumberOfEventsInRun( const int nEv ); 091 void setEventPointer(AbsEvent* currentEvent); 092 void setBeginPointer(AbsEvent* currentBegin); 093 void setJobPointer (AbsEvent* currentJob); 094 095 096 int _runNumber; 097 int _trigNumber; 098 bool _monteFlag; 099 int _runType; 100 edm::RecordType _currentRecType; 101 #ifndef __CINT__ 102 int8 _runSection; 103 #endif 104 std::string _origin; 105 int _fdPipe; 106 int _numberOfRS; 107 // This will be left null for other types of input (see origin) 108 RunSectionRanges* _inputRSRanges; 109 110 int _nEventsInRun; // But only for the currently open file... 111 112 static AbsEnv* _theAbsEnv; 113 114 static AbsEvent* _theEvent; 115 static AbsEvent* _theRunRecord; 116 static AbsEvent* _theJobRecord; 117 }; 118 119 120 //------------------------- 121 // global pointer to env -- 122 //------------------------- 123 124 extern AbsEnv* gblEnv; 125 126 #endif // ABSENV_HH 127
| [ source navigation ] | [ diff markup ] | [ identifier search ] | [ freetext search ] | [ file search ] |
| This page was automatically generated by the LXR engine. The LXR team |
|