24 vector<DetLayer*> detlayers;
25 vector<MTDTrayBarrelLayer*>
result;
27 vector<const DetRod*> btlDetTrays;
30 vector<const GeomDet*> geomDets;
32 for (
unsigned side = 0; side <= 1; ++side) {
34 if (geomDet !=
nullptr) {
35 geomDets.push_back(geomDet);
43 if (!geomDets.empty()) {
45 btlDetTrays.push_back(
new MTDDetTray(geomDets));
46 LogTrace(
"MTDDetLayers") <<
" New BTLDetTray with " << geomDets.size()
47 <<
" modules at R=" << btlDetTrays.back()->position().perp()
48 <<
", phi=" << btlDetTrays.back()->position().phi();
54 LogTrace(
"MTDDetLayers") <<
"BTLDetLayerGeometryBuilder: new MTDTrayBarrelLayer with " << btlDetTrays.size()
55 <<
" rods, at R " <<
result.back()->specificSurface().radius();
57 for (vector<MTDTrayBarrelLayer*>::const_iterator it =
result.begin(); it !=
result.end(); it++)
58 detlayers.push_back((
DetLayer*)(*it));
static std::vector< DetLayer * > buildLayers(const MTDGeometry &geo)
Operations.
static constexpr int MIN_ROD
Geom::Phi< T > phi() const
ExtractZ< GeomDet, float > DetZ
static constexpr int HALF_ROD
const MTDGeomDet * idToDet(DetId) const override
BTLDetLayerGeometryBuilder()
Constructor.
static constexpr int kModulesPerROD
range constants, need two sets for the time being (one for tiles and one for bars) ...
virtual ~BTLDetLayerGeometryBuilder()
Destructor.
void precomputed_value_sort(RandomAccessIterator begin, RandomAccessIterator end, const Extractor &extr, const Compare &comp)
constexpr uint32_t rawId() const
get the raw id
const Surface::PositionType & position() const
The position (origin of the R.F.)
Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0...