38 std::vector<std::shared_ptr<Acts::Surface>>
iSurfaces;
41 std::vector<Acts::Experimental::ProtoBinning>
binning;
56 : Acts::Experimental::IInternalStructureBuilder(),
83 auto sfCandidatesUpdator = isg(
gctx, aGenerator, rGenerator);
85 return {internalSurfaces,
104 std::unique_ptr<const Acts::Logger>
logger)
105 : mCfg(config), mLogger(std::
move(logger)) {
108 throw std::invalid_argument(
109 "MultiWireStructureBuilder: No surfaces are given");
111 throw ::std::invalid_argument(
112 "MultiWireStructureBuilder: Invalid binning provided");
119 if (mCfg.mlBounds.size() != 3
u) {
120 throw std::invalid_argument(
121 "MultiWireStructureBuilder: Invalid dimension for bounds.");
129 vsConfig.
auxiliary =
"Construct External Structure";
134 iConfig.
binning = mCfg.mlBinning;
135 iConfig.
auxiliary =
"Construct Internal Structure";
138 dvConfig.
auxiliary =
"Construct Detector Volume";
139 dvConfig.
name = mCfg.name;
141 std::make_shared<MultiWireInternalStructureBuilder>(
146 std::make_shared<Acts::Experimental::VolumeStructureBuilder>(
149 auto dvBuilder = std::make_shared<Acts::Experimental::DetectorVolumeBuilder>(
153 auto dvComponent = dvBuilder->construct(gctx);