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.
6 #include <iostream>
7 #include <string>
8 
9 using namespace std;
10 using namespace edm;
11 
13  const FebLocationSpec & feb)
14 {
16  // REGION
17  int region = -2;
18  bool barrel = (ch.barrelOrEndcap==1);
19  if (barrel) region = 0;
20  else if (ch.diskOrWheel<0) region = -1;
21  else if (ch.diskOrWheel>0) region = 1;
22 
23  //ROLL
24  string localEtaPartVal[6]={"Forward","Central","Backward","A","B","C"};
25  string nroll = localEtaPartVal[feb.localEtaPartition-1];
26 
27  //SUBSECTOR
28  string subsecVal[5]={"--","-","0","+","++"};
29  string subsec=subsecVal[ch.subsector+2];
30 
31  // build RPCdetId
32  try {
33  RPCDetId dn;
34  dn.buildfromDB(region, ch.diskOrWheel, ch.layer, ch.sector,
35  subsec, nroll, " ");
36  return dn.rawId();
37  }
38  catch(...) {
39  if (debug) LogDebug ("CondFormas/DBSpecToDetInit")
40  <<" Problem with RPCDetId, got exception!! "
41  <<"DB Chamber "<<ch.chamberLocationName()<<" roll "<<nroll;
42  return 0;
43  }
44 }
#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:44
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