CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DBSpecToDetUnit.cc
Go to the documentation of this file.
7 #include <iostream>
8 #include <string>
9 
10 using namespace std;
11 using namespace edm;
12 
14  const FebLocationSpec & feb)
15 {
17  // REGION
18  int region = -2;
19  bool barrel = (ch.barrelOrEndcap==1);
20  if (barrel) region = 0;
21  else if (ch.diskOrWheel<0) region = -1;
22  else if (ch.diskOrWheel>0) region = 1;
23 
24  //ROLL
25  string localEtaPartVal[6]={"Forward","Central","Backward","A","B","C"};
26  string nroll = localEtaPartVal[feb.localEtaPartition-1];
27 
28  //SUBSECTOR
29  string subsecVal[5]={"--","-","0","+","++"};
30  string subsec=subsecVal[ch.subsector+2];
31 
32  // build RPCdetId
33  try {
34  RPCDetId dn;
35  dn.buildfromDB(region, ch.diskOrWheel, ch.layer, ch.sector,
36  subsec, nroll, " ");
37  return dn.rawId();
38  }
39  catch(cms::Exception & e) {
40  if (debug) LogDebug ("CondFormas/DBSpecToDetInit")
41  <<" Problem with RPCDetId, got exception!! "
42  <<"DB Chamber "<<ch.chamberLocationName()<<" roll "<<nroll
43  <<e;
44  return 0;
45  }
46 }
#define LogDebug(id)
void buildfromDB(int region, int ring, int layer, int sector, const std::string &subsector, const std::string &roll, const std::string &dbname)
Definition: RPCDetId.cc:46
static MessageDrop * instance()
Definition: MessageDrop.cc:65
static bool debugEnabled
Definition: MessageDrop.h:105
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
uint32_t operator()(const ChamberLocationSpec &location, const FebLocationSpec &feb)
std::string chamberLocationName() const
#define debug
Definition: MEtoEDMFormat.h:34