20 , m_layerRepresentation(nullptr)
21 , m_multilayerRepresentation(nullptr)
22 , m_baseTransform(nullptr)
23 , m_constituents(nullptr)
29 , m_name(std::move(
name))
30 , m_layerRepresentation(nullptr)
31 , m_multilayerRepresentation(nullptr)
32 , m_baseTransform(nullptr)
33 , m_constituents(nullptr)
40 const std::vector<Trk::Layer*>* multilay)
42 , m_name(std::move(
name))
43 , m_layerRepresentation(lay)
44 , m_multilayerRepresentation(multilay)
45 , m_baseTransform(nullptr)
46 , m_constituents(nullptr)
51 if (m_layerRepresentation)
delete m_layerRepresentation;
52 if (m_multilayerRepresentation) {
53 for (
auto *
layer : *m_multilayerRepresentation)
55 delete m_multilayerRepresentation;
57 delete m_baseTransform;
63 m_trkVolume->moveTV(shift);
64 if (m_layerRepresentation) {
65 m_layerRepresentation->moveLayer(shift);
67 if (m_multilayerRepresentation) {
68 for (
auto *
layer : *m_multilayerRepresentation) {
69 layer->moveLayer(shift);
83 if (this->layerRepresentation()) {
84 std::vector<Trk::Layer*>* newMulti =
nullptr;
90 if (!this->multilayerRepresentation().
empty()) {
91 newMulti =
new std::vector<Trk::Layer*>;
92 for (
unsigned int i = 0;
i < this->multilayerRepresentation().size();
95 (this->multilayerRepresentation())[
i]);
99 newMulti->push_back(newPl);
101 std::cout <<
"WARNING Trk::DetachedTrackingVolume::clone() "
102 "dynamic cast to 'const Trk::PlaneLayer* mpl' failed!"
108 std::cout <<
"WARNING Trk::DetachedTrackingVolume::clone() dynamic "
109 "cast to 'const Trk::PlaneLayer* pl' failed!"
121 for (
auto *vol : vols) {
124 vol->confinedArbitraryLayers();
127 for (
auto *lay : lays) {
128 lay->encloseDetachedTrackingVolume(*newStat);
131 if (!alays.empty()) {
132 for (
auto *alay : alays) {
133 alay->encloseDetachedTrackingVolume(*newStat);
141 for (
auto *lay : lays){
142 lay->encloseDetachedTrackingVolume(*newStat);
148 for (
auto *alay : alays) {
149 alay->encloseDetachedTrackingVolume(*newStat);
162 m_trkVolume->compactify(cSurfaces, tSurfaces);
165 if (layerRepresentation()) {
167 if (layerRepresentation()->surfaceRepresentation().owner() ==
Trk::noOwn) {
168 layerRepresentation()->surfaceRepresentation().setOwner(
Trk::TGOwn);
173 if (!multilayerRepresentation().
empty()) {
174 tSurfaces += m_multilayerRepresentation->size();
175 for (
const auto& mLayerIter : (*m_multilayerRepresentation)) {
176 if ((*mLayerIter).surfaceRepresentation().owner() ==
Trk::noOwn) {
177 (*mLayerIter).surfaceRepresentation().setOwner(
Trk::TGOwn);
189 m_trkVolume->sign(signat, geotype);
193 return m_trkVolume->geometrySignature();
197 return m_trkVolume->geometryType();
202 m_baseTransform = transf;
204 delete m_baseTransform;