Skip to content

Acts <--> Traccc Track Container, main branch (2025.11.14.)#1197

Draft
krasznaa wants to merge 3 commits intoacts-project:mainfrom
krasznaa:ActsTrackContainer-main-20251114
Draft

Acts <--> Traccc Track Container, main branch (2025.11.14.)#1197
krasznaa wants to merge 3 commits intoacts-project:mainfrom
krasznaa:ActsTrackContainer-main-20251114

Conversation

@krasznaa
Copy link
Copy Markdown
Member

I spent the better half of today experimenting with the following. As I told people multiple times in the past, I very much want to figure out how we can put an Acts::TrackContainer on top of the traccc data collections/containers. So that after we copy the reconstructed tracks back to the host, we would not need to translate them anymore. We could just put such an adapter layer on top of them, and voila.

That's the idea anyway. For now I just fumbled around with the code based on what I could find in code written by @paradajzblond and @CarloVarni. So, this PR is just a super rough first version of how I managed to understand the code so far. But I'll definitely want to discuss next week with @CarloVarni and @paulgessinger about the details. 🤔

Even until then, feel very free to criticise this code already. I cannot imagine that I would not have done some silly stuff in it. 🤔

@krasznaa krasznaa added the edm Changes to the data model label Nov 14, 2025
@krasznaa krasznaa force-pushed the ActsTrackContainer-main-20251114 branch from 23593cf to d93794b Compare November 20, 2025 09:15
}

// Construct the covariance expected by Acts.
return ConstTrackStateProxy::ConstCovariance{covariance.data()};
Copy link
Copy Markdown
Member

@paulgessinger paulgessinger Nov 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, this will be dangling immediately, right? This is a bit the weakness of the current design that I chose, where the interface expects to be able to hand out references that the caller can manipulate directly. This probably prevents doing on the fly conversion here.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't look at this in detail. Just assumed that the object probably makes a copy.

It is a defendable design that it doesn't. But then indeed this code will need to be written differently. 🤔

There is no world in which the code would actually work at this
point. But at least it compiles. So it could be a good starting
point for discussions hopefully.
Just to make sure that the code compiles, and does the most trivial
thing imaginable.
@krasznaa krasznaa force-pushed the ActsTrackContainer-main-20251114 branch from d93794b to fa95337 Compare November 26, 2025 12:29
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

edm Changes to the data model

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants