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 | Public Attributes | Static Public Attributes | Friends
OMTFConfiguration Class Reference

#include <OMTFConfiguration.h>

Public Types

typedef std::vector< int > vector1D
 
typedef std::vector< std::pair
< unsigned int, unsigned int > > 
vector1D_A
 Map of connections. More...
 
typedef std::vector< vector1Dvector2D
 
typedef std::vector< vector1D_Avector2D_A
 
typedef std::vector< vector2Dvector3D
 
typedef std::vector< vector2D_Avector3D_A
 
typedef std::vector< vector3Dvector4D
 

Public Member Functions

void configure (XMLConfigReader *aReader)
 
void configure (const L1TMuonOverlapParams *omtfParams)
 
uint32_t getLayerNumber (uint32_t rawId) const
 
unsigned int getRegionNumberFromMap (unsigned int iInput, unsigned int iRefLayer, int iPhi) const
 
int globalPhiStart (unsigned int iProcessor) const
 
void initCounterMatrices ()
 
bool isInRegionRange (int iPhiStart, unsigned int coneSize, int iPhi) const
 
 OMTFConfiguration (const edm::ParameterSet &cfg)
 

Static Public Member Functions

static const OMTFConfigurationinstance ()
 

Public Attributes

std::vector< unsigned int > barrelMax
 
std::vector< unsigned int > barrelMin
 
std::set< int > bendingLayers
 
vector3D_A connections
 
std::vector< unsigned int > endcap10DegMax
 
std::vector< unsigned int > endcap10DegMin
 
std::vector< unsigned int > endcap20DegMax
 
std::vector< unsigned int > endcap20DegMin
 
unsigned int fwVersion
 
std::map< int, int > hwToLogicLayer
 
std::map< int, int > logicToHwLayer
 
std::map< int, int > logicToLogic
 
vector4D measurements4D
 
vector4D measurements4Dref
 
float minPdfVal
 
unsigned int nGoldenPatterns
 
unsigned int nHitsPerLayer
 
unsigned int nInputs
 
unsigned int nLayers
 
unsigned int nLogicRegions
 
unsigned int nPdfAddrBits
 
unsigned int nPdfValBits
 
unsigned int nPhiBins
 
unsigned int nPhiBits
 
unsigned int nProcessors
 
unsigned int nRefHits
 
unsigned int nRefLayers
 
unsigned int nTestRefHits
 
std::vector< std::vector< int > > processorPhiVsRefLayer
 
std::vector< std::vector
< RefHitDef > > 
refHitsDefs
 
std::vector< int > refToLogicNumber
 
std::vector< std::vector
< std::vector< std::pair< int,
int > > > > 
regionPhisVsRefLayerVsInput
 

Static Public Attributes

static OMTFConfigurationlatest_instance_ = NULL
 

Friends

std::ostream & operator<< (std::ostream &out, const OMTFConfiguration &aConfig)
 

Detailed Description

Definition at line 50 of file OMTFConfiguration.h.

Member Typedef Documentation

typedef std::vector<int> OMTFConfiguration::vector1D

Temporary hack to pass data from deep inside class Matrices are used during creation of the connections tables.

Definition at line 127 of file OMTFConfiguration.h.

typedef std::vector< std::pair<unsigned int, unsigned int> > OMTFConfiguration::vector1D_A

Map of connections.

Definition at line 120 of file OMTFConfiguration.h.

typedef std::vector<vector1D > OMTFConfiguration::vector2D

Definition at line 128 of file OMTFConfiguration.h.

Definition at line 121 of file OMTFConfiguration.h.

typedef std::vector<vector2D > OMTFConfiguration::vector3D

Definition at line 129 of file OMTFConfiguration.h.

Definition at line 122 of file OMTFConfiguration.h.

typedef std::vector<vector3D > OMTFConfiguration::vector4D

Definition at line 130 of file OMTFConfiguration.h.

Constructor & Destructor Documentation

OMTFConfiguration::OMTFConfiguration ( const edm::ParameterSet cfg)

Definition at line 52 of file OMTFConfiguration.cc.

References configure(), edm::ParameterSet::exists(), MainPageGenerator::fName, contentValuesFiles::fullPath, edm::ParameterSet::getParameter(), latest_instance_, XMLConfigReader::setConfigFile(), and AlCaHLTBitMon_QueryRunRegistry::string.

52  {
53  latest_instance_ = this;
54 
55  if(theConfig.getParameter<bool>("configFromXML")){
56  if (!theConfig.exists("configXMLFile") ) return;
57  std::string fName = theConfig.getParameter<edm::FileInPath>("configXMLFile").fullPath();
58 
59  XMLConfigReader myReader(this);
60  myReader.setConfigFile(fName);
61  configure(&myReader);
62  }
63 }
static OMTFConfiguration * latest_instance_
void configure(XMLConfigReader *aReader)

Member Function Documentation

void OMTFConfiguration::configure ( XMLConfigReader aReader)
void OMTFConfiguration::configure ( const L1TMuonOverlapParams omtfParams)

Set global parameters

Set chamber sectors connections to logic processros.

Set connections tables

connections tables for each processor each logic cone Vector of all layers

Vector of all logic cones

Vector of all processors

Starting phis of each region Vector of all regions in one processor

Vector of all reflayers

Vector of all inputs

Vector of all processros

Symetrize connections. Use th same connections for all processors

Definition at line 93 of file OMTFConfiguration.cc.

References barrelMax, barrelMin, L1TMuonOverlapParams::LayerMapNode::bendingLayer, bendingLayers, L1TMuonOverlapParams::connectedSectorsEnd(), L1TMuonOverlapParams::connectedSectorsStart(), L1TMuonOverlapParams::LayerMapNode::connectedToLayer, connections, filterCSVwithJSON::copy, endcap10DegMax, endcap10DegMin, endcap20DegMax, endcap20DegMin, fwVersion, L1TMuonOverlapParams::fwVersion(), L1TMuonOverlapParams::globalPhiStartMap(), L1TMuonOverlapParams::LayerMapNode::hwNumber, hwToLogicLayer, initCounterMatrices(), L1TMuonOverlapParams::layerInputMap(), L1TMuonOverlapParams::layerMap(), L1TMuonOverlapParams::LayerMapNode::logicNumber, L1TMuonOverlapParams::RefLayerMapNode::logicNumber, logicToHwLayer, logicToLogic, minPdfVal, nGoldenPatterns, L1TMuonOverlapParams::nGoldenPatterns(), nHitsPerLayer, L1TMuonOverlapParams::nHitsPerLayer(), nInputs, L1TMuonOverlapParams::nInputs(), nLayers, L1TMuonOverlapParams::nLayers(), nLogicRegions, L1TMuonOverlapParams::nLogicRegions(), nPdfAddrBits, L1TMuonOverlapParams::nPdfAddrBits(), nPdfValBits, L1TMuonOverlapParams::nPdfValBits(), nPhiBins, L1TMuonOverlapParams::nPhiBins(), nPhiBits, L1TMuonOverlapParams::nPhiBits(), nProcessors, L1TMuonOverlapParams::nProcessors(), nRefHits, L1TMuonOverlapParams::nRefHits(), nRefLayers, L1TMuonOverlapParams::nRefLayers(), nTestRefHits, L1TMuonOverlapParams::nTestRefHits(), processorPhiVsRefLayer, L1TMuonOverlapParams::refHitMap(), refHitsDefs, L1TMuonOverlapParams::RefLayerMapNode::refLayer, L1TMuonOverlapParams::refLayerMap(), refToLogicNumber, and regionPhisVsRefLayerVsInput.

93  {
94 
96  minPdfVal = 0.001;
97  fwVersion = omtfParams->fwVersion();
98  nPdfAddrBits = omtfParams->nPdfAddrBits();
99  nPdfValBits = omtfParams->nPdfValBits();
100  nHitsPerLayer = omtfParams->nHitsPerLayer();
101  nPhiBits = omtfParams->nPhiBits();
102  nPhiBins = omtfParams->nPhiBins();
103  nRefHits = omtfParams->nRefHits();
104  nTestRefHits = omtfParams->nTestRefHits();
105  nProcessors = omtfParams->nProcessors();
106  nLogicRegions = omtfParams->nLogicRegions();
107  nInputs = omtfParams->nInputs();
108  nLayers = omtfParams->nLayers();
109  nRefLayers = omtfParams->nRefLayers();
110  nGoldenPatterns = omtfParams->nGoldenPatterns();
111 
113  barrelMin.resize(nProcessors);
114  endcap10DegMin.resize(nProcessors);
115  endcap20DegMin.resize(nProcessors);
116 
117  barrelMax.resize(nProcessors);
118  endcap10DegMax.resize(nProcessors);
119  endcap20DegMax.resize(nProcessors);
120 
121  const std::vector<int> *connectedSectorsStartVec = omtfParams->connectedSectorsStart();
122  const std::vector<int> *connectedSectorsEndVec = omtfParams->connectedSectorsEnd();
123 
124  std::copy(connectedSectorsStartVec->begin(), connectedSectorsStartVec->begin()+6, barrelMin.begin());
125  std::copy(connectedSectorsStartVec->begin()+6, connectedSectorsStartVec->begin()+12, endcap10DegMin.begin());
126  std::copy(connectedSectorsStartVec->begin()+12, connectedSectorsStartVec->end(), endcap20DegMin.begin());
127 
128  std::copy(connectedSectorsEndVec->begin(), connectedSectorsEndVec->begin()+6, barrelMax.begin());
129  std::copy(connectedSectorsEndVec->begin()+6, connectedSectorsEndVec->begin()+12, endcap10DegMax.begin());
130  std::copy(connectedSectorsEndVec->begin()+12, connectedSectorsEndVec->end(), endcap20DegMax.begin());
131 
133  const std::vector<L1TMuonOverlapParams::LayerMapNode> *layerMap = omtfParams->layerMap();
134 
135  for(unsigned int iLayer=0;iLayer<nLayers;++iLayer){
136  L1TMuonOverlapParams::LayerMapNode aNode = layerMap->at(iLayer);
137  hwToLogicLayer[aNode.hwNumber] = aNode.logicNumber;
138  logicToHwLayer[aNode.logicNumber] = aNode.hwNumber;
139  logicToLogic[aNode.logicNumber] = aNode.connectedToLayer;
140  if(aNode.bendingLayer) bendingLayers.insert(aNode.logicNumber);
141  }
144 
145  const std::vector<L1TMuonOverlapParams::RefLayerMapNode> *refLayerMap = omtfParams->refLayerMap();
146  for(unsigned int iRefLayer=0;iRefLayer<nRefLayers;++iRefLayer){
147  L1TMuonOverlapParams::RefLayerMapNode aNode = refLayerMap->at(iRefLayer);
148  refToLogicNumber[aNode.refLayer] = aNode.logicNumber;
149  }
151  std::vector<int> vector1D(nRefLayers,nPhiBins);
153 
156  vector1D_A aLayer1D(nLayers);
158  vector2D_A aLayer2D;
159  aLayer2D.assign(nLogicRegions,aLayer1D);
161  connections.assign(nProcessors,aLayer2D);
162 
165  std::vector<std::pair<int,int> > aRefHit1D(nLogicRegions,std::pair<int,int>(9999,9999));
167  std::vector<std::vector<std::pair<int,int> > > aRefHit2D;
168  aRefHit2D.assign(nRefLayers,aRefHit1D);
170  regionPhisVsRefLayerVsInput.assign(nInputs,aRefHit2D);
171 
172  //Vector of ref hit definitions
173  std::vector<RefHitDef> aRefHitsDefs(nRefHits);
175  refHitsDefs.assign(nProcessors,aRefHitsDefs);
176 
177  const std::vector<int> *phiStartMap = omtfParams->globalPhiStartMap();
178  const std::vector<L1TMuonOverlapParams::RefHitNode> *refHitMap = omtfParams->refHitMap();
179  const std::vector<L1TMuonOverlapParams::LayerInputNode> *layerInputMap = omtfParams->layerInputMap();
180  unsigned int tmpIndex = 0;
181  for(unsigned int iProcessor=0;iProcessor<nProcessors;++iProcessor){
182  for(unsigned int iRefLayer=0;iRefLayer<nRefLayers;++iRefLayer){
183  int iPhiStart = phiStartMap->at(iRefLayer+iProcessor*nRefLayers);
184  processorPhiVsRefLayer[iProcessor][iRefLayer] = iPhiStart;
185  }
186  for(unsigned int iRefHit=0;iRefHit<nRefHits;++iRefHit){
187  int iPhiMin = refHitMap->at(iRefHit+iProcessor*nRefHits).iPhiMin;
188  int iPhiMax = refHitMap->at(iRefHit+iProcessor*nRefHits).iPhiMax;
189  unsigned int iInput = refHitMap->at(iRefHit+iProcessor*nRefHits).iInput;
190  unsigned int iRegion = refHitMap->at(iRefHit+iProcessor*nRefHits).iRegion;
191  unsigned int iRefLayer = refHitMap->at(iRefHit+iProcessor*nRefHits).iRefLayer;
192  regionPhisVsRefLayerVsInput[iInput][iRefLayer][iRegion] = std::pair<int,int>(iPhiMin,iPhiMax);
193  refHitsDefs[iProcessor][iRefHit] = RefHitDef(iInput,iPhiMin,iPhiMax,iRegion,iRefLayer);
194  }
195  for(unsigned int iLogicRegion=0;iLogicRegion<nLogicRegions;++iLogicRegion){
196  for(unsigned int iLayer=0;iLayer<nLayers;++iLayer){
197  tmpIndex = iLayer+iLogicRegion*nLayers + iProcessor*nLogicRegions*nLayers;
198  unsigned int iFirstInput = layerInputMap->at(tmpIndex).iFirstInput;
199  unsigned int nInputs = layerInputMap->at(tmpIndex).nInputs;
200  connections[iProcessor][iLogicRegion][iLayer] = std::pair<unsigned int, unsigned int>(iFirstInput,nInputs);
202  if(iProcessor!=0) connections[iProcessor][iLogicRegion][iLayer] = connections[0][iLogicRegion][iLayer];
203  }
204  }
205  }
206 
208 
209 }
std::vector< unsigned int > endcap20DegMax
unsigned int nLayers
const std::vector< LayerMapNode > * layerMap() const
std::map< int, int > logicToLogic
std::vector< unsigned int > endcap10DegMin
unsigned int nInputs
unsigned int hwNumber
short layer number used within OMTF emulator
const std::vector< int > * connectedSectorsEnd() const
unsigned fwVersion() const
unsigned int logicNumber
logic numer of the layer
std::vector< std::vector< int > > processorPhiVsRefLayer
unsigned int nProcessors
unsigned int nLogicRegions
std::map< int, int > logicToHwLayer
std::vector< unsigned int > endcap20DegMin
std::vector< int > refToLogicNumber
std::vector< unsigned int > endcap10DegMax
const std::vector< LayerInputNode > * layerInputMap() const
unsigned int nPdfAddrBits
unsigned int fwVersion
unsigned int nTestRefHits
unsigned int nHitsPerLayer
std::vector< std::vector< RefHitDef > > refHitsDefs
std::vector< std::pair< unsigned int, unsigned int > > vector1D_A
Map of connections.
std::vector< int > vector1D
unsigned int nPhiBins
bool bendingLayer
Is this a bending layers?
unsigned int nPhiBits
int nPdfAddrBits() const
Access to specific general settings.
std::vector< unsigned int > barrelMin
unsigned int refLayer
Reference layer number.
unsigned int nRefLayers
const std::vector< int > * globalPhiStartMap() const
std::set< int > bendingLayers
std::map< int, int > hwToLogicLayer
unsigned int nRefHits
unsigned int logicNumber
Corresponding logical layer number.
unsigned int nGoldenPatterns
std::vector< vector1D_A > vector2D_A
const std::vector< RefLayerMapNode > * refLayerMap() const
std::vector< std::vector< std::vector< std::pair< int, int > > > > regionPhisVsRefLayerVsInput
const std::vector< int > * connectedSectorsStart() const
std::vector< unsigned int > barrelMax
unsigned int nPdfValBits
const std::vector< RefHitNode > * refHitMap() const
uint32_t OMTFConfiguration::getLayerNumber ( uint32_t  rawId) const

Return layer number encoding subsystem, and station number in a simple formula: aLayer+100*detId.subdetId() where aLayer is a layer number counting from vertex

Definition at line 277 of file OMTFConfiguration.cc.

References gather_cfg::cout, MuonSubdetId::CSC, DetId::det(), MuonSubdetId::DT, dt, GeomDetEnumerators::isBarrel(), RPCDetId::layer(), DetId::Muon, RPCDetId::region(), CSCDetId::ring(), MuonSubdetId::RPC, DTChamberId::station(), CSCDetId::station(), RPCDetId::station(), and DetId::subdetId().

Referenced by OMTFinputMaker::processCSC(), OMTFinputMaker::processDT(), and OMTFinputMaker::processRPC().

277  {
278 
279  uint32_t aLayer = 0;
280 
281  DetId detId(rawId);
282  if (detId.det() != DetId::Muon){
283  std::cout << "PROBLEM: hit in unknown Det, detID: "<<detId.det()<<std::endl;
284  return rawId;
285  }
286 
287  switch (detId.subdetId()) {
288  case MuonSubdetId::RPC: {
289  RPCDetId aId(rawId);
290  bool isBarrel = (aId.region()==0);
291  if(isBarrel) aLayer = aId.station() <=2 ?
292  2*( aId.station()-1)+ aId.layer()
293  : aId.station()+2;
294  else aLayer = aId.station();
295  aLayer+= 10*(!isBarrel);
296  break;
297  }
298  case MuonSubdetId::DT: {
299  DTChamberId dt(rawId);
300  aLayer = dt.station();
301  break;
302  }
303  case MuonSubdetId::CSC: {
304  CSCDetId csc(rawId);
305  aLayer = csc.station();
306  if(csc.ring()==2 && csc.station()==1) aLayer = 1811;//1811 = 2011 - 200, as we want to get 2011 for this chamber.
307  if(csc.station()==4) aLayer = 4;
308  break;
309  }
310  }
311 
312  int hwNumber = aLayer+100*detId.subdetId();
313 
314  return hwNumber;
315 }
float dt
Definition: AMPTWrapper.h:126
bool isBarrel(GeomDetEnumerators::SubDetector m)
static const int CSC
Definition: MuonSubdetId.h:13
Definition: DetId.h:18
static const int RPC
Definition: MuonSubdetId.h:14
tuple cout
Definition: gather_cfg.py:145
static const int DT
Definition: MuonSubdetId.h:12
unsigned int OMTFConfiguration::getRegionNumberFromMap ( unsigned int  iInput,
unsigned int  iRefLayer,
int  iPhi 
) const

Find logic region number using first input number and then local phi value. The input and phi ranges are taken from DB.

Definition at line 255 of file OMTFConfiguration.cc.

References plotBeamSpotDB::first, nLogicRegions, regionPhisVsRefLayerVsInput, and edm::second().

Referenced by OMTFConfigMaker::fillPhiMaps(), and OMTFConfigMaker::makeConnetionsMap().

257  {
258 
259  for(unsigned int iRegion=0;iRegion<nLogicRegions;++iRegion){
260  if(iPhi>=regionPhisVsRefLayerVsInput[iInput][iRefLayer][iRegion].first &&
261  iPhi<=regionPhisVsRefLayerVsInput[iInput][iRefLayer][iRegion].second)
262  return iRegion;
263  }
264 
265  return 99;
266 }
unsigned int nLogicRegions
U second(std::pair< T, U > const &p)
std::vector< std::vector< std::vector< std::pair< int, int > > > > regionPhisVsRefLayerVsInput
int OMTFConfiguration::globalPhiStart ( unsigned int  iProcessor) const

Return global phi for beggining of given processor Uses minim phi over all reference layers.

Definition at line 269 of file OMTFConfiguration.cc.

References begin, end, and processorPhiVsRefLayer.

Referenced by XMLConfigWriter::writeConnectionsData().

269  {
270 
271  return *std::min_element(processorPhiVsRefLayer[iProcessor].begin(),
272  processorPhiVsRefLayer[iProcessor].end());
273 
274 }
std::vector< std::vector< int > > processorPhiVsRefLayer
#define end
Definition: vmac.h:37
#define begin
Definition: vmac.h:30
void OMTFConfiguration::initCounterMatrices ( )

Vector of all inputs

Vector of all layers

Vector of all logic cones

Vector of all processors

Definition at line 66 of file OMTFConfiguration.cc.

References measurements4D, measurements4Dref, nInputs, nLayers, nLogicRegions, and nProcessors.

Referenced by configure().

66  {
67 
69  std::vector<int> aLayer1D(nInputs,0);
70 
72  vector2D aLayer2D;
73  aLayer2D.assign(nLayers,aLayer1D);
74 
76  vector3D aLayer3D;
77  aLayer3D.assign(nLogicRegions,aLayer2D);
78 
80  measurements4D.assign(nProcessors,aLayer3D);
81  measurements4Dref.assign(nProcessors,aLayer3D);
82 }
unsigned int nLayers
unsigned int nInputs
unsigned int nProcessors
unsigned int nLogicRegions
std::vector< vector2D > vector3D
std::vector< vector1D > vector2D
static const OMTFConfiguration* OMTFConfiguration::instance ( )
inlinestatic
bool OMTFConfiguration::isInRegionRange ( int  iPhiStart,
unsigned int  coneSize,
int  iPhi 
) const

Check if given referecne hit is in phi range for some logic cone. Care is needed arounf +Pi and +2Pi points

Definition at line 235 of file OMTFConfiguration.cc.

References nPhiBins.

237  {
238 
239  if(iPhi<0) iPhi+=nPhiBins;
240  if(iPhiStart<0) iPhiStart+=nPhiBins;
241 
242  if(iPhiStart+(int)coneSize<(int)nPhiBins){
243  return iPhiStart<=iPhi && iPhiStart+(int)coneSize>iPhi;
244  }
245  else if(iPhi>(int)nPhiBins/2){
246  return iPhiStart<=iPhi;
247  }
248  else if(iPhi<(int)nPhiBins/2){
249  return iPhi<iPhiStart+(int)coneSize-(int)nPhiBins;
250  }
251  return false;
252 }
unsigned int nPhiBins
return(e1-e2)*(e1-e2)+dp *dp
volatile std::atomic< bool > shutdown_flag false

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const OMTFConfiguration aConfig 
)
friend

Definition at line 212 of file OMTFConfiguration.cc.

212  {
213 
214 
215  out<<"nLayers: "<<aConfig.nLayers
216  <<" nHitsPerLayer: "<<aConfig.nHitsPerLayer
217  <<" nRefLayers: "<<aConfig.nRefLayers
218  <<" nPdfAddrBits: "<<aConfig.nPdfAddrBits
219  <<" nPdfValBits: "<<aConfig.nPdfValBits
220  <<std::endl;
221 
222  for(unsigned int iProcessor = 0;iProcessor<aConfig.nProcessors; ++iProcessor){
223  out<<"Processor: "<<iProcessor;
224  for(unsigned int iRefLayer=0;iRefLayer<aConfig.nRefLayers;++iRefLayer){
225  out<<" "<<aConfig.processorPhiVsRefLayer[iProcessor][iRefLayer];
226  }
227  out<<std::endl;
228  }
229 
230  return out;
231 
232 }
unsigned int nLayers
std::vector< std::vector< int > > processorPhiVsRefLayer
unsigned int nProcessors
unsigned int nPdfAddrBits
unsigned int nHitsPerLayer
unsigned int nRefLayers
unsigned int nPdfValBits

Member Data Documentation

std::vector<unsigned int> OMTFConfiguration::barrelMax
std::vector<unsigned int> OMTFConfiguration::barrelMin

Starting and final sectors connected to processors. Index: processor number

Definition at line 91 of file OMTFConfiguration.h.

Referenced by OMTFinputMaker::acceptDigi(), configure(), OMTFinputMaker::getInputNumber(), and XMLConfigReader::readConfig().

std::set<int> OMTFConfiguration::bendingLayers
vector3D_A OMTFConfiguration::connections
std::vector<unsigned int> OMTFConfiguration::endcap10DegMax
std::vector<unsigned int> OMTFConfiguration::endcap10DegMin
std::vector<unsigned int> OMTFConfiguration::endcap20DegMax
std::vector<unsigned int> OMTFConfiguration::endcap20DegMin
unsigned int OMTFConfiguration::fwVersion
std::map<int,int> OMTFConfiguration::hwToLogicLayer
OMTFConfiguration * OMTFConfiguration::latest_instance_ = NULL
static

Definition at line 159 of file OMTFConfiguration.h.

Referenced by instance(), and OMTFConfiguration().

std::map<int,int> OMTFConfiguration::logicToHwLayer

Definition at line 83 of file OMTFConfiguration.h.

Referenced by configure(), and XMLConfigReader::readConfig().

std::map<int,int> OMTFConfiguration::logicToLogic
vector4D OMTFConfiguration::measurements4D
vector4D OMTFConfiguration::measurements4Dref
float OMTFConfiguration::minPdfVal

Definition at line 67 of file OMTFConfiguration.h.

Referenced by configure(), and XMLConfigReader::readConfig().

unsigned int OMTFConfiguration::nGoldenPatterns
unsigned int OMTFConfiguration::nHitsPerLayer

Definition at line 69 of file OMTFConfiguration.h.

Referenced by configure(), operator<<(), and XMLConfigReader::readConfig().

unsigned int OMTFConfiguration::nInputs
unsigned int OMTFConfiguration::nLayers
unsigned int OMTFConfiguration::nLogicRegions
unsigned int OMTFConfiguration::nPdfAddrBits
unsigned int OMTFConfiguration::nPdfValBits
unsigned int OMTFConfiguration::nPhiBins
unsigned int OMTFConfiguration::nPhiBits

Definition at line 71 of file OMTFConfiguration.h.

Referenced by configure(), and XMLConfigReader::readConfig().

unsigned int OMTFConfiguration::nProcessors
unsigned int OMTFConfiguration::nRefHits
unsigned int OMTFConfiguration::nRefLayers
unsigned int OMTFConfiguration::nTestRefHits
std::vector<std::vector<int> > OMTFConfiguration::processorPhiVsRefLayer

Starting iPhi for each processor and each referecne layer Global phi scale is used First index: processor number Second index: referecne layer number

Definition at line 102 of file OMTFConfiguration.h.

Referenced by configure(), globalPhiStart(), operator<<(), XMLConfigReader::readConfig(), and XMLConfigWriter::writeConnectionsData().

std::vector<std::vector<RefHitDef> > OMTFConfiguration::refHitsDefs

Vector with definitions of reference hits Vector has fixed size of nRefHits Order of elements defines priority order First index: processor number (0-5) Second index: ref hit number (0-127)

Definition at line 117 of file OMTFConfiguration.h.

Referenced by configure(), OMTFProcessor::fillCounts(), OMTFProcessor::processInput(), and XMLConfigReader::readConfig().

std::vector<int> OMTFConfiguration::refToLogicNumber
std::vector<std::vector<std::vector<std::pair<int,int> > > > OMTFConfiguration::regionPhisVsRefLayerVsInput

Begin and end local phi for each logis region First index: input number Second index: reference layer number Third index: region pair.first: starting phi of region (inclusive) pair.second: ending phi of region (inclusive)

Definition at line 110 of file OMTFConfiguration.h.

Referenced by configure(), getRegionNumberFromMap(), and XMLConfigReader::readConfig().