31 if(trackerTopology.
pxfSide(detId)==1)
35 else if(trackerTopology.
pxfSide(detId)==2)
41 throw cms::Exception(
"FastSimulation/Tracking") <<
"Tracker hit for seeding in FPix seems neither on positive nor on negative disk side: "<<trackerTopology.
print(detId).c_str();
56 if(trackerTopology.
tidSide(detId)==1)
60 else if(trackerTopology.
tidSide(detId)==2)
66 throw cms::Exception(
"FastSimulation/Tracking") <<
"Tracker hit for seeding in TID seems neither on positive nor on negative disk side: "<<trackerTopology.
print(detId).c_str();
81 if(trackerTopology.
tecSide(detId)==1)
85 else if(trackerTopology.
tecSide(detId)==2)
91 throw cms::Exception(
"FastSimulation/Tracking") <<
"Tracker hit for seeding in TEC seems neither on positive nor on negative disk side: "<<trackerTopology.
print(detId).c_str();
97 throw cms::Exception(
"FastSimulation/Tracking") <<
"Cannot determine seeding layer from DetId:"<<trackerTopology.
print(detId).c_str()<<std::endl;
100 return trackingLayer;
106 if (layerSpecification.substr(0,4)==
"BPix" )
110 trackingLayer.
_layerNumber = std::atoi(layerSpecification.substr(4,1).c_str());
112 else if (layerSpecification.substr(0,4)==
"FPix" )
115 trackingLayer.
_layerNumber = std::atoi(layerSpecification.substr(4,1).c_str());
116 if(layerSpecification.substr(layerSpecification.size()-3)==
"pos")
120 else if (layerSpecification.substr(layerSpecification.size()-3)==
"neg")
127 <<
"FPix seeding layer configuration '"<<layerSpecification.c_str()<<
"' does not specify the side correctly!";
131 else if (layerSpecification.substr(0,3)==
"TIB")
135 trackingLayer.
_layerNumber = std::atoi(layerSpecification.substr(3,1).c_str());
137 else if (layerSpecification.substr(0,4)==
"MTIB")
141 trackingLayer.
_layerNumber = std::atoi(layerSpecification.substr(4,1).c_str());
144 else if (layerSpecification.substr(0,3)==
"TID")
147 trackingLayer.
_layerNumber = std::atoi(layerSpecification.substr(3,1).c_str());
148 if (layerSpecification.substr(layerSpecification.size()-3)==
"pos")
152 else if (layerSpecification.substr(layerSpecification.size()-3)==
"neg")
159 <<
"TID seeding layer configuration '"<<layerSpecification.c_str()<<
"' does not specify the side correctly!";
162 else if (layerSpecification.substr(0,4)==
"MTID")
165 trackingLayer.
_layerNumber = std::atoi(layerSpecification.substr(4,1).c_str());
166 if (layerSpecification.substr(layerSpecification.size()-3)==
"pos")
170 else if (layerSpecification.substr(layerSpecification.size()-3)==
"neg")
177 <<
"MTID seeding layer configuration '"<<layerSpecification.c_str()<<
"' does not specify the side correctly!";
180 else if (layerSpecification.substr(0,3)==
"TOB" )
184 trackingLayer.
_layerNumber = std::atoi(layerSpecification.substr(3,1).c_str());
186 else if (layerSpecification.substr(0,4)==
"MTOB" )
190 trackingLayer.
_layerNumber = std::atoi(layerSpecification.substr(4,1).c_str());
192 else if (layerSpecification.substr(0,3)==
"TEC" )
195 trackingLayer.
_layerNumber = std::atoi(layerSpecification.substr(3,1).c_str());
196 if (layerSpecification.substr(layerSpecification.size()-3)==
"pos")
200 else if (layerSpecification.substr(layerSpecification.size()-3)==
"neg")
207 <<
"TEC seeding layer configuration '"<<layerSpecification.c_str()<<
"' does not specify the side correctly!";
212 else if (layerSpecification.substr(0,4)==
"MTEC" )
215 trackingLayer.
_layerNumber = std::atoi(layerSpecification.substr(4,1).c_str());
216 if (layerSpecification.substr(layerSpecification.size()-3)==
"pos")
220 else if (layerSpecification.substr(layerSpecification.size()-3)==
"neg")
227 <<
"MTEC seeding layer configuration '"<<layerSpecification.c_str()<<
"' does not specify the side correctly!";
233 <<
"Bad data naming in seeding layer configuration."
234 <<
"no case sensitive name of ['BPix','FPix','TIB','MTIB','TID','MTID','TOB','TEC','MTEC'] matches '"<<layerSpecification.c_str()<<
"'";
238 return trackingLayer;
243 std::stringstream
ss;
286 std::stringstream
ss;
unsigned int getSubDetNumber() const
unsigned int tibLayer(const DetId &id) const
unsigned int getLayerNumber() const
unsigned int pxfDisk(const DetId &id) const
0: Unidentified isolated particle
static TrackingLayer createFromDetId(const DetId &detId, const TrackerTopology &trackerTopology)
std::string toIdString() const
unsigned int tidWheel(const DetId &id) const
std::string print(DetId detid) const
static const eqfct _eqfct
unsigned int tidSide(const DetId &id) const
unsigned int getSideNumber() const
static TrackingLayer createFromString(std::string layerSpecification)
unsigned int _layerNumber
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
std::string toString() const
unsigned int pxbLayer(const DetId &id) const
unsigned int pxfSide(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const