CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Static Private Attributes
FEDNumbering Class Reference

#include <FEDNumbering.h>

Public Types

enum  {
  NOT_A_FEDID = -1, MAXFEDID = 4096, MINSiPixelFEDID = 0, MAXSiPixelFEDID = 40,
  MINSiStripFEDID = 50, MAXSiStripFEDID = 489, MINPreShowerFEDID = 520, MAXPreShowerFEDID = 575,
  MINTotemTriggerFEDID = 577, MAXTotemTriggerFEDID = 577, MINTotemRPHorizontalFEDID = 578, MAXTotemRPHorizontalFEDID = 581,
  MINCTPPSDiamondFEDID =582, MAXCTPPSDiamondFEDID =583, MINTotemRPVerticalFEDID = 584, MAXTotemRPVerticalFEDID = 585,
  MINECALFEDID = 600, MAXECALFEDID = 670, MINCASTORFEDID = 690, MAXCASTORFEDID = 693,
  MINHCALFEDID = 700, MAXHCALFEDID = 731, MINLUMISCALERSFEDID = 735, MAXLUMISCALERSFEDID = 735,
  MINCSCFEDID = 750, MAXCSCFEDID = 757, MINCSCTFFEDID = 760, MAXCSCTFFEDID = 760,
  MINDTFEDID = 770, MAXDTFEDID = 779, MINDTTFFEDID = 780, MAXDTTFFEDID = 780,
  MINRPCFEDID = 790, MAXRPCFEDID = 795, MINTriggerGTPFEDID = 812, MAXTriggerGTPFEDID = 813,
  MINTriggerEGTPFEDID = 814, MAXTriggerEGTPFEDID = 814, MINTriggerGCTFEDID = 745, MAXTriggerGCTFEDID = 749,
  MINTriggerLTCFEDID = 816, MAXTriggerLTCFEDID = 824, MINTriggerLTCmtccFEDID = 815, MAXTriggerLTCmtccFEDID = 815,
  MINTriggerLTCTriggerFEDID = 816, MAXTriggerLTCTriggerFEDID = 816, MINTriggerLTCHCALFEDID = 817, MAXTriggerLTCHCALFEDID = 817,
  MINTriggerLTCSiStripFEDID = 818, MAXTriggerLTCSiStripFEDID = 818, MINTriggerLTCECALFEDID = 819, MAXTriggerLTCECALFEDID = 819,
  MINTriggerLTCTotemCastorFEDID = 820, MAXTriggerLTCTotemCastorFEDID = 820, MINTriggerLTCRPCFEDID = 821, MAXTriggerLTCRPCFEDID = 821,
  MINTriggerLTCCSCFEDID = 822, MAXTriggerLTCCSCFEDID = 822, MINTriggerLTCDTFEDID = 823, MAXTriggerLTCDTFEDID = 823,
  MINTriggerLTCSiPixelFEDID = 824, MAXTriggerLTCSiPixelFEDID = 824, MINCSCDDUFEDID = 830, MAXCSCDDUFEDID = 869,
  MINCSCContingencyFEDID = 880, MAXCSCContingencyFEDID = 887, MINCSCTFSPFEDID = 890, MAXCSCTFSPFEDID = 901,
  MINDAQeFEDFEDID = 902, MAXDAQeFEDFEDID = 931, MINDAQmFEDFEDID = 1023, MAXDAQmFEDFEDID = 1023,
  MINTCDSuTCAFEDID = 1024, MAXTCDSuTCAFEDID = 1099, MINHCALuTCAFEDID = 1100, MAXHCALuTCAFEDID = 1199,
  MINSiPixeluTCAFEDID = 1200, MAXSiPixeluTCAFEDID = 1349, MINSiPixel2nduTCAFEDID = 1500, MAXSiPixel2nduTCAFEDID = 1649,
  MINSiPixelTestFEDID = 1450, MAXSiPixelTestFEDID = 1461, MINSiPixelAMC13FEDID = 1410, MAXSiPixelAMC13FEDID = 1449,
  MINTriggerUpgradeFEDID = 1350, MAXTriggerUpgradeFEDID = 1409, MINCTPPSPixelsFEDID = 1462, MAXCTPPSPixelsFEDID = 1466,
  MINGEMFEDID = 1467, MAXGEMFEDID = 1472, MINDAQvFEDFEDID = 2815, MAXDAQvFEDFEDID = 4095
}
 

Public Member Functions

virtual ~FEDNumbering ()
 

Static Public Member Functions

static const std::string & fromDet (int)
 
static void init ()
 
static bool inRange (int)
 
static bool inRangeNoGT (int)
 
static int lastFEDId ()
 

Static Private Attributes

static std::vector< std::string > from_
 
static bool * in_ = new bool[MAXFEDID+1]
 
static bool init_ = true
 

Detailed Description

This class holds the fed numbering scheme for the CMS geometry. No two feds should have the same id. Each subdetector has a reserved range. Gaps between ranges give flexibility to the numbering.

$Log

Author
G. Bruno - CERN, EP Division

Definition at line 18 of file FEDNumbering.h.

Member Enumeration Documentation

anonymous enum
Enumerator
NOT_A_FEDID 
MAXFEDID 
MINSiPixelFEDID 
MAXSiPixelFEDID 
MINSiStripFEDID 
MAXSiStripFEDID 
MINPreShowerFEDID 
MAXPreShowerFEDID 
MINTotemTriggerFEDID 
MAXTotemTriggerFEDID 
MINTotemRPHorizontalFEDID 
MAXTotemRPHorizontalFEDID 
MINCTPPSDiamondFEDID 
MAXCTPPSDiamondFEDID 
MINTotemRPVerticalFEDID 
MAXTotemRPVerticalFEDID 
MINECALFEDID 
MAXECALFEDID 
MINCASTORFEDID 
MAXCASTORFEDID 
MINHCALFEDID 
MAXHCALFEDID 
MINLUMISCALERSFEDID 
MAXLUMISCALERSFEDID 
MINCSCFEDID 
MAXCSCFEDID 
MINCSCTFFEDID 
MAXCSCTFFEDID 
MINDTFEDID 
MAXDTFEDID 
MINDTTFFEDID 
MAXDTTFFEDID 
MINRPCFEDID 
MAXRPCFEDID 
MINTriggerGTPFEDID 
MAXTriggerGTPFEDID 
MINTriggerEGTPFEDID 
MAXTriggerEGTPFEDID 
MINTriggerGCTFEDID 
MAXTriggerGCTFEDID 
MINTriggerLTCFEDID 
MAXTriggerLTCFEDID 
MINTriggerLTCmtccFEDID 
MAXTriggerLTCmtccFEDID 
MINTriggerLTCTriggerFEDID 
MAXTriggerLTCTriggerFEDID 
MINTriggerLTCHCALFEDID 
MAXTriggerLTCHCALFEDID 
MINTriggerLTCSiStripFEDID 
MAXTriggerLTCSiStripFEDID 
MINTriggerLTCECALFEDID 
MAXTriggerLTCECALFEDID 
MINTriggerLTCTotemCastorFEDID 
MAXTriggerLTCTotemCastorFEDID 
MINTriggerLTCRPCFEDID 
MAXTriggerLTCRPCFEDID 
MINTriggerLTCCSCFEDID 
MAXTriggerLTCCSCFEDID 
MINTriggerLTCDTFEDID 
MAXTriggerLTCDTFEDID 
MINTriggerLTCSiPixelFEDID 
MAXTriggerLTCSiPixelFEDID 
MINCSCDDUFEDID 
MAXCSCDDUFEDID 
MINCSCContingencyFEDID 
MAXCSCContingencyFEDID 
MINCSCTFSPFEDID 
MAXCSCTFSPFEDID 
MINDAQeFEDFEDID 
MAXDAQeFEDFEDID 
MINDAQmFEDFEDID 
MAXDAQmFEDFEDID 
MINTCDSuTCAFEDID 
MAXTCDSuTCAFEDID 
MINHCALuTCAFEDID 
MAXHCALuTCAFEDID 
MINSiPixeluTCAFEDID 
MAXSiPixeluTCAFEDID 
MINSiPixel2nduTCAFEDID 
MAXSiPixel2nduTCAFEDID 
MINSiPixelTestFEDID 
MAXSiPixelTestFEDID 
MINSiPixelAMC13FEDID 
MAXSiPixelAMC13FEDID 
MINTriggerUpgradeFEDID 
MAXTriggerUpgradeFEDID 
MINCTPPSPixelsFEDID 
MAXCTPPSPixelsFEDID 
MINGEMFEDID 
MAXGEMFEDID 
MINDAQvFEDFEDID 
MAXDAQvFEDFEDID 

Definition at line 34 of file FEDNumbering.h.

34  {
35  NOT_A_FEDID = -1,
36  MAXFEDID = 4096, // must be larger than largest used FED id
37  MINSiPixelFEDID = 0,
38  MAXSiPixelFEDID = 40, // increase from 39 for the pilot blade fed
39  MINSiStripFEDID = 50,
40  MAXSiStripFEDID = 489,
41  MINPreShowerFEDID = 520,
42  MAXPreShowerFEDID = 575,
51  MINECALFEDID = 600,
52  MAXECALFEDID = 670,
53  MINCASTORFEDID = 690,
54  MAXCASTORFEDID = 693,
55  MINHCALFEDID = 700,
56  MAXHCALFEDID = 731,
57  MINLUMISCALERSFEDID = 735,
58  MAXLUMISCALERSFEDID = 735,
59  MINCSCFEDID = 750,
60  MAXCSCFEDID = 757,
61  MINCSCTFFEDID = 760,
62  MAXCSCTFFEDID = 760,
63  MINDTFEDID = 770,
64  MAXDTFEDID = 779,
65  MINDTTFFEDID = 780,
66  MAXDTTFFEDID = 780,
67  MINRPCFEDID = 790,
68  MAXRPCFEDID = 795,
69  MINTriggerGTPFEDID = 812,
70  MAXTriggerGTPFEDID = 813,
71  MINTriggerEGTPFEDID = 814,
72  MAXTriggerEGTPFEDID = 814,
73  MINTriggerGCTFEDID = 745,
74  MAXTriggerGCTFEDID = 749,
75  MINTriggerLTCFEDID = 816,
76  MAXTriggerLTCFEDID = 824,
97  MINCSCDDUFEDID = 830,
98  MAXCSCDDUFEDID = 869,
101  MINCSCTFSPFEDID = 890,
102  MAXCSCTFSPFEDID = 901,
103  MINDAQeFEDFEDID = 902,
104  MAXDAQeFEDFEDID = 931,
105  MINDAQmFEDFEDID = 1023,
106  MAXDAQmFEDFEDID = 1023,
107  MINTCDSuTCAFEDID = 1024,
108  MAXTCDSuTCAFEDID = 1099,
109  MINHCALuTCAFEDID = 1100,
110  MAXHCALuTCAFEDID = 1199,
111  MINSiPixeluTCAFEDID = 1200,
112  MAXSiPixeluTCAFEDID = 1349,
113  MINSiPixel2nduTCAFEDID = 1500,
114  MAXSiPixel2nduTCAFEDID = 1649,
115  MINSiPixelTestFEDID = 1450,
116  MAXSiPixelTestFEDID = 1461,
117  MINSiPixelAMC13FEDID = 1410,
118  MAXSiPixelAMC13FEDID = 1449,
119  MINTriggerUpgradeFEDID = 1350,
120  MAXTriggerUpgradeFEDID = 1409,
121  MINCTPPSPixelsFEDID = 1462,
122  MAXCTPPSPixelsFEDID = 1466,
123  MINGEMFEDID = 1467,
124  MAXGEMFEDID = 1472,
125  MINDAQvFEDFEDID = 2815,
126  MAXDAQvFEDFEDID = 4095
127  };

Constructor & Destructor Documentation

virtual FEDNumbering::~FEDNumbering ( )
inlinevirtual

Member Function Documentation

string const & FEDNumbering::fromDet ( int  i)
static

Definition at line 173 of file FEDNumbering.cc.

References mps_fire::i, and init.

Referenced by ~FEDNumbering().

174 {
175  if(init_) init();
176  return from_[i];
177 }
static void init()
Definition: FEDNumbering.cc:21
static std::vector< std::string > from_
Definition: FEDNumbering.h:129
static bool init_
Definition: FEDNumbering.h:131
void FEDNumbering::init ( void  )
static

Definition at line 21 of file FEDNumbering.cc.

References mps_fire::i.

Referenced by ~FEDNumbering().

22 {
23  int i = 0;
24  for(i=0; i< lastFEDId(); i++)
25  in_[i] = false;
26  for(i=MINSiPixelFEDID; i<=MAXSiPixelFEDID; i++)
27  {
28  in_[i] = true;
29  from_[i] = "SiPixel";
30  }
31  for(i=MINSiStripFEDID; i<=MAXSiStripFEDID; i++)
32  {
33  in_[i] = true;
34  from_[i] = "SiStrip";
35  }
36  for(i=MINPreShowerFEDID; i<=MAXPreShowerFEDID; i++)
37  {
38  in_[i] = true;
39  from_[i] = "PreShower";
40  }
41  for(i=MINECALFEDID; i<=MAXECALFEDID; i++)
42  {
43  in_[i] = true;
44  from_[i] = "Ecal";
45  }
46  for(i=MINCASTORFEDID; i<=MAXCASTORFEDID; i++)
47  {
48  in_[i] = true;
49  from_[i] = "Castor";
50  }
51  for(i=MINHCALFEDID; i<=MAXHCALFEDID; i++)
52  {
53  in_[i] = true;
54  from_[i] = "Hcal";
55  }
57  {
58  in_[i] = true;
59  from_[i] = "LumiScalers";
60  }
61  for(i=MINCSCFEDID; i<=MAXCSCFEDID; i++)
62  {
63  in_[i] = true;
64  from_[i] = "CSC";
65  }
66  for(i=MINCSCTFFEDID; i<=MAXCSCTFFEDID; i++)
67  {
68  in_[i] = true;
69  from_[i] = "CSCTF";
70  }
71  for(i=MINDTFEDID; i<=MAXDTFEDID; i++)
72  {
73  in_[i] = true;
74  from_[i] = "DT";
75  }
76  for(i=MINDTTFFEDID; i<=MAXDTTFFEDID; i++)
77  {
78  in_[i] = true;
79  from_[i] = "DTTF";
80  }
81  for(i=MINRPCFEDID; i<=MAXRPCFEDID; i++)
82  {
83  in_[i] = true;
84  from_[i] = "RPC";
85  }
87  {
88  in_[i] = true;
89  from_[i] = "TriggerGTP";
90  }
92  {
93  in_[i] = true;
94  from_[i] = "TriggerEGTP";
95  }
97  {
98  in_[i] = true;
99  from_[i] = "TriggerGCT";
100  }
101  for(i=MINTriggerLTCFEDID; i<=MAXTriggerLTCFEDID; i++)
102  {
103  in_[i] = true;
104  from_[i] = "TriggerLTC";
105  }
107  {
108  in_[i] = true;
109  from_[i] = "TriggerLTCmtcc";
110  }
111  for(i=MINCSCDDUFEDID; i<=MAXCSCDDUFEDID; i++)
112  {
113  in_[i] = true;
114  from_[i] = "CSCDDU";
115  }
117  {
118  in_[i] = true;
119  from_[i] = "CSCContingency";
120  }
121  for(i=MINCSCTFSPFEDID; i<=MAXCSCTFSPFEDID; i++)
122  {
123  in_[i] = true;
124  from_[i] = "CSCTFSP";
125  }
126  for(i=MINDAQeFEDFEDID; i<=MAXDAQeFEDFEDID; i++)
127  {
128  in_[i] = true;
129  from_[i] = "DAQ";
130  }
131  for(i=MINDAQmFEDFEDID; i<=MAXDAQmFEDFEDID; i++)
132  {
133  in_[i] = true;
134  from_[i] = "DAQ";
135  }
136  for(i=MINTCDSuTCAFEDID; i<=MAXTCDSuTCAFEDID; i++)
137  {
138  in_[i] = true;
139  from_[i] = "TCDS";
140  }
141  for(i=MINHCALuTCAFEDID; i<=MAXHCALuTCAFEDID; i++)
142  {
143  in_[i] = true;
144  from_[i] = "Hcal";
145  }
147  {
148  in_[i] = true;
149  from_[i] = "SiPixel";
150  }
152  {
153  in_[i] = true;
154  from_[i] = "L1T";
155  }
156 
157 
158  init_ = false;
159 }
static bool * in_
Definition: FEDNumbering.h:130
static int lastFEDId()
Definition: FEDNumbering.cc:17
static std::vector< std::string > from_
Definition: FEDNumbering.h:129
static bool init_
Definition: FEDNumbering.h:131
bool FEDNumbering::inRange ( int  i)
static
bool FEDNumbering::inRangeNoGT ( int  i)
static

Definition at line 166 of file FEDNumbering.cc.

References mps_fire::i, and init.

Referenced by ~FEDNumbering().

int FEDNumbering::lastFEDId ( )
static

Member Data Documentation

vector< string > FEDNumbering::from_
staticprivate

Definition at line 129 of file FEDNumbering.h.

bool * FEDNumbering::in_ = new bool[MAXFEDID+1]
staticprivate

Definition at line 130 of file FEDNumbering.h.

bool FEDNumbering::init_ = true
staticprivate

Definition at line 131 of file FEDNumbering.h.