CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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, MINTotemRPFEDID = 578, MAXTotemRPFEDID = 581,
  MINCTPPSDiamondFEDID =582, MAXCTPPSDiamondFEDID =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 = 815,
  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,
  MINTriggerUpgradeFEDID = 1350, MAXTriggerUpgradeFEDID = 1409, 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 
MINTotemRPFEDID 
MAXTotemRPFEDID 
MINCTPPSDiamondFEDID 
MAXCTPPSDiamondFEDID 
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 
MINTriggerUpgradeFEDID 
MAXTriggerUpgradeFEDID 
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,
45  MINTotemRPFEDID = 578,
46  MAXTotemRPFEDID = 581,
49  MINECALFEDID = 600,
50  MAXECALFEDID = 670,
51  MINCASTORFEDID = 690,
52  MAXCASTORFEDID = 693,
53  MINHCALFEDID = 700,
54  MAXHCALFEDID = 731,
55  MINLUMISCALERSFEDID = 735,
56  MAXLUMISCALERSFEDID = 735,
57  MINCSCFEDID = 750,
58  MAXCSCFEDID = 757,
59  MINCSCTFFEDID = 760,
60  MAXCSCTFFEDID = 760,
61  MINDTFEDID = 770,
62  MAXDTFEDID = 779,
63  MINDTTFFEDID = 780,
64  MAXDTTFFEDID = 780,
65  MINRPCFEDID = 790,
66  MAXRPCFEDID = 795,
67  MINTriggerGTPFEDID = 812,
68  MAXTriggerGTPFEDID = 813,
69  MINTriggerEGTPFEDID = 814,
70  MAXTriggerEGTPFEDID = 815,
71  MINTriggerGCTFEDID = 745,
72  MAXTriggerGCTFEDID = 749,
73  MINTriggerLTCFEDID = 816,
74  MAXTriggerLTCFEDID = 824,
95  MINCSCDDUFEDID = 830,
96  MAXCSCDDUFEDID = 869,
99  MINCSCTFSPFEDID = 890,
100  MAXCSCTFSPFEDID = 901,
101  MINDAQeFEDFEDID = 902,
102  MAXDAQeFEDFEDID = 931,
103  MINDAQmFEDFEDID = 1023,
104  MAXDAQmFEDFEDID = 1023,
105  MINTCDSuTCAFEDID = 1024,
106  MAXTCDSuTCAFEDID = 1099,
107  MINHCALuTCAFEDID = 1100,
108  MAXHCALuTCAFEDID = 1199,
109  MINSiPixeluTCAFEDID = 1200,
110  MAXSiPixeluTCAFEDID = 1349,
111  MINTriggerUpgradeFEDID = 1350,
112  MAXTriggerUpgradeFEDID = 1409,
113  MINDAQvFEDFEDID = 2815,
114  MAXDAQvFEDFEDID = 4095
115  };

Constructor & Destructor Documentation

virtual FEDNumbering::~FEDNumbering ( )
inlinevirtual

Definition at line 23 of file FEDNumbering.h.

23 {};

Member Function Documentation

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

Definition at line 173 of file FEDNumbering.cc.

References i, and init.

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

Definition at line 21 of file FEDNumbering.cc.

References i.

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 }
int i
Definition: DBlmapReader.cc:9
static bool * in_
Definition: FEDNumbering.h:118
static int lastFEDId()
Definition: FEDNumbering.cc:17
static std::vector< std::string > from_
Definition: FEDNumbering.h:117
static bool init_
Definition: FEDNumbering.h:119
bool FEDNumbering::inRange ( int  i)
static

Definition at line 161 of file FEDNumbering.cc.

References i, and init.

Referenced by MatacqProducer::getCalibTriggerType(), LaserSorter::getDetailedTriggerType(), LaserSorter::getOrbitFromDcc(), MatacqProducer::getOrbitId(), and LmfSource::readEventWithinFile().

162 {
163  if(init_) init();
164  return in_[i];
165 }
int i
Definition: DBlmapReader.cc:9
static void init()
Definition: FEDNumbering.cc:21
static bool * in_
Definition: FEDNumbering.h:118
static bool init_
Definition: FEDNumbering.h:119
bool FEDNumbering::inRangeNoGT ( int  i)
static

Definition at line 166 of file FEDNumbering.cc.

References i, and init.

int FEDNumbering::lastFEDId ( )
static

Member Data Documentation

vector< string > FEDNumbering::from_
staticprivate

Definition at line 117 of file FEDNumbering.h.

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

Definition at line 118 of file FEDNumbering.h.

bool FEDNumbering::init_ = true
staticprivate

Definition at line 119 of file FEDNumbering.h.