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);
42 if (!geomDets.empty()) {
44 btlDetTrays.push_back(
new MTDDetTray(geomDets));
45 LogTrace(metname) <<
" New BTLDetTray with " << geomDets.size()
46 <<
" modules at R=" << btlDetTrays.back()->position().perp()
47 <<
", phi=" << btlDetTrays.back()->position().phi() << std::endl;
53 LogDebug(metname) <<
"BTLDetLayerGeometryBuilder: " 54 <<
" New MTDTrayBarrelLayer with " << btlDetTrays.size() <<
" rods, at R " 55 << 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.
const std::string metname
static constexpr int MIN_ROD
Geom::Phi< T > phi() const
constexpr uint32_t rawId() const
get the raw id
ExtractZ< GeomDet, float > DetZ
const MTDGeomDet * idToDet(DetId) const override
const Surface::PositionType & position() const
The position (origin of the R.F.)
static constexpr int HALF_ROD
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)
Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0...