Go to the documentation of this file.00001 #ifndef DTTPGParameters_H
00002 #define DTTPGParameters_H
00003
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "CondFormats/DTObjects/interface/DTTimeUnits.h"
00023 #include "CondFormats/DTObjects/interface/DTBufferTree.h"
00024 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
00025
00026
00027
00028
00029 #include <string>
00030 #include <vector>
00031
00032
00033
00034
00035
00036 class DTTPGParametersId {
00037
00038 public:
00039
00040 DTTPGParametersId();
00041 ~DTTPGParametersId();
00042
00043 int wheelId;
00044 int stationId;
00045 int sectorId;
00046
00047 };
00048
00049
00050 class DTTPGParametersData {
00051
00052 public:
00053
00054 DTTPGParametersData();
00055 ~DTTPGParametersData();
00056
00057 int nClock;
00058 float tPhase;
00059
00060 };
00061
00062
00063 class DTTPGParameters {
00064
00065 public:
00066
00069 DTTPGParameters();
00070 DTTPGParameters( const std::string& version );
00071
00074 ~DTTPGParameters();
00075
00078
00079 int get( int wheelId,
00080 int stationId,
00081 int sectorId,
00082 int& nc,
00083 float& ph,
00084 DTTimeUnits::type unit ) const;
00085 int get( const DTChamberId& id,
00086 int& nc,
00087 float& ph,
00088 DTTimeUnits::type unit ) const;
00089 float totalTime( int wheelId,
00090 int stationId,
00091 int sectorId,
00092 DTTimeUnits::type unit ) const;
00093 float totalTime( const DTChamberId& id,
00094 DTTimeUnits::type unit ) const;
00095 int clock() const;
00096 float unit() const;
00097
00099 const
00100 std::string& version() const;
00101 std::string& version();
00102
00104 void clear();
00105
00106 int set( int wheelId,
00107 int stationId,
00108 int sectorId,
00109 int nc,
00110 float ph,
00111 DTTimeUnits::type unit );
00112 int set( const DTChamberId& id,
00113 int nc,
00114 float ph,
00115 DTTimeUnits::type unit );
00116 void setClock( int clock );
00117 void setUnit( float unit );
00118
00120 typedef std::vector< std::pair<DTTPGParametersId,
00121 DTTPGParametersData> >::const_iterator
00122 const_iterator;
00123 const_iterator begin() const;
00124 const_iterator end() const;
00125
00126 private:
00127
00128 std::string dataVersion;
00129 float nsPerCount;
00130 int clockLength;
00131
00132 std::vector< std::pair<DTTPGParametersId,DTTPGParametersData> > dataList;
00133
00134 DTBufferTree<int,int>* dBuf;
00135
00137 void cacheMap() const;
00138 std::string mapName() const;
00139
00140 };
00141
00142
00143 #endif // DTTPGParameters_H
00144