CMS 3D CMS Logo

CSCChamberIndexValues.h
Go to the documentation of this file.
1 #ifndef _CSCCHAMBERINDEXVALUES_H
2 #define _CSCCHAMBERINDEXVALUES_H
3 
4 #include <memory>
14 
21 
23 public:
25  ~CSCChamberIndexValues() override;
26 
27  typedef std::unique_ptr<CSCChamberIndex> ReturnType;
28 
29  inline static CSCChamberIndex *fillChamberIndex();
30 
31  ReturnType produceChamberIndex(const CSCChamberIndexRcd &);
32 
33 private:
34  // ----------member data ---------------------------
36  const edm::IOVSyncValue &,
37  edm::ValidityInterval &) override;
38 };
39 
40 #include <fstream>
41 #include <vector>
42 #include <iostream>
43 
44 // to workaround plugin library
46  CSCChamberIndex *mapobj = new CSCChamberIndex();
47  cscmap1 map;
49  int chamberid;
50 
51  int i, j, k, l; //i - endcap, j - station, k - ring, l - chamber.
52  int r, c; //r - number of rings, c - number of chambers.
53  int count = 0;
54 
55  mapobj->ch_index.resize(540);
56  /* This is version for 540 chambers. */
57  for (i = 1; i <= 2; ++i) {
58  for (j = 1; j <= 4; ++j) {
59  if (j == 1)
60  r = 3;
61  //else if(j==4) r=1;
62  else
63  r = 2;
64  for (k = 1; k <= r; ++k) {
65  if (j > 1 && k == 1)
66  c = 18;
67  else
68  c = 36;
69  for (l = 1; l <= c; ++l) {
70  chamberid = i * 100000 + j * 10000 + k * 1000 + l * 10;
71  map.chamber(chamberid, &item);
72  mapobj->ch_index[item.cscIndex - 1] = item;
73  count = count + 1;
74  }
75  }
76  }
77  }
78  return mapobj;
79 }
80 
81 #endif
ReturnType produceChamberIndex(const CSCChamberIndexRcd &)
CSCVector ch_index
void chamber(int chamberid, CSCMapItem::MapItem *item)
Definition: CSCMap1.cc:27
std::unique_ptr< CSCChamberIndex > ReturnType
CSCChamberIndexValues(const edm::ParameterSet &)
Definition: CSCMap1.h:9
void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override
static CSCChamberIndex * fillChamberIndex()