28 vector<DetLayer*> detlayers;
29 vector<MTDTrayBarrelLayer*>
result;
31 vector<const DetRod*> btlDetTrays;
35 vector<const GeomDet*> geomDets;
37 for(
unsigned side = 0; side <= 1; ++side) {
39 if (geomDet !=
nullptr) {
40 geomDets.push_back(geomDet);
50 if (!geomDets.empty()) {
52 btlDetTrays.push_back(
new MTDDetTray(geomDets));
53 LogTrace(metname) <<
" New BTLDetTray with " << geomDets.size()
54 <<
" modules at R=" << btlDetTrays.back()->position().perp()
55 <<
", phi=" << btlDetTrays.back()->position().phi() << std::endl;
62 <<
"BTLDetLayerGeometryBuilder: "<<
" New MTDTrayBarrelLayer with " << btlDetTrays.size()
63 <<
" rods, at R " << result.back()->specificSurface().radius();
65 for(vector<MTDTrayBarrelLayer*>::const_iterator it = result.begin(); it != result.end(); it++)
66 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)
Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0...