File indexing completed on 2024-04-06 12:20:54
0001 #ifndef l1t_EndCapParamsHelper_h_
0002 #define l1t_EndCapParamsHelper_h_
0003
0004 #include <cassert>
0005 #include <vector>
0006 #include <map>
0007
0008 #include "CondFormats/L1TObjects/interface/L1TMuonEndCapParams.h"
0009 #include "CondFormats/DataRecord/interface/L1TMuonEndCapParamsRcd.h"
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 namespace l1t {
0035
0036 class EndCapParamsHelper {
0037 public:
0038 enum { VERSION = 1 };
0039
0040 ~EndCapParamsHelper();
0041
0042
0043 EndCapParamsHelper(L1TMuonEndCapParams* w);
0044
0045 static const EndCapParamsHelper* readFromEventSetup(const L1TMuonEndCapParams* es);
0046
0047 static EndCapParamsHelper* readAndWriteFromEventSetup(const L1TMuonEndCapParams* es);
0048
0049 void SetPtAssignVersion(unsigned version) { write_->PtAssignVersion_ = version; }
0050 void SetFirmwareVersion(unsigned version) { write_->firmwareVersion_ = version; }
0051
0052
0053 void SetPrimConvVersion(unsigned version) { write_->PhiMatchWindowSt1_ = version; }
0054
0055 unsigned GetPtAssignVersion() const { return read_->PtAssignVersion_; }
0056 unsigned GetFirmwareVersion() const { return read_->firmwareVersion_; }
0057 unsigned GetPrimConvVersion() const { return read_->PhiMatchWindowSt1_; }
0058
0059
0060 void print(std::ostream&) const;
0061
0062
0063 const L1TMuonEndCapParams* getReadInstance() const { return read_; }
0064 L1TMuonEndCapParams* getWriteInstance() { return write_; }
0065
0066 private:
0067 EndCapParamsHelper(const L1TMuonEndCapParams* es);
0068 void useCopy();
0069 void check_write() { assert(write_); }
0070
0071 const L1TMuonEndCapParams* read_;
0072 L1TMuonEndCapParams* write_;
0073 bool we_own_write_;
0074 };
0075
0076 }
0077 #endif