acts-project / detray

Test library for detector surface intersection
Mozilla Public License 2.0
10 stars 18 forks source link

replace_populator and complete_populator only allows non-type parameters? #90

Closed beomki-yeo closed 2 years ago

beomki-yeo commented 3 years ago

@asalzburger @niermann999 I am facing an issue that I cannot use ordinary vector value_type for replace_populator and complete_populator except non-type parameters due to the value_type kInvalid = std::numeric_limits<dindex>::max() argument.

Is this desgin intended to be like this? I can put pointer type which is non-type parameter but not sure whether cuda works normally with that (@stephenswat @krasznaa Can I get away with pointer type for vector element?)

FYI, here is how the populator handles the data: replace_populator -> vector where each element is for each bin of spacepoint, so this is not what we want to use complete_populator -> vector<array>: I may want to use this one attach_populator -> vector<vector>: this allows ordinary value type, but vector<vector<>> might not work with vecmem which I am not sure as well...

It's AOB but the real problem is how to transfer grid2 object, which contains axes and populator, into gpu device under vecmem structure...

beomki-yeo commented 3 years ago

This will be resolved by #96