CMS 3D CMS Logo

MicroGMTAbsoluteIsolationCheckLUTFactory.cc
Go to the documentation of this file.
1 //
7 // This class implements the AbsoluteIsolationCheckLUT factory. Based on the firmware
8 // version it selects the appropriate concrete implementation.
9 //
10 
12 
14 
15 using namespace edm;
16 
17 namespace l1t {
19  const std::string& filename, const int fwVersion) {
20  ReturnType p;
21 
22  if (fwVersion >= 1) {
23  p = std::make_shared<l1t::MicroGMTAbsoluteIsolationCheckLUT>(filename);
24  } else {
25  LogError("MicroGMTAbsoluteIsolationCheckLUTFactory")
26  << "Invalid firmware version requested: 0x" << std::hex << fwVersion << std::dec;
27  }
28  return p;
29  }
30 
32  l1t::LUT* lut, const int fwVersion) {
33  ReturnType p;
34 
35  if (fwVersion >= 1) {
36  p = std::make_shared<l1t::MicroGMTAbsoluteIsolationCheckLUT>(lut);
37  } else {
38  LogError("MicroGMTAbsoluteIsolationCheckLUTFactory")
39  << "Invalid firmware version requested: 0x" << std::hex << fwVersion << std::dec;
40  }
41  return p;
42  }
43 } // namespace l1t
def create(alignables, pedeDump, additionalData, outputFile, config)
delete x;
Definition: CaloConfig.h:22
Log< level::Error, false > LogError
Definition: LUT.h:29
HLT enums.
std::shared_ptr< MicroGMTAbsoluteIsolationCheckLUT > ReturnType