Class Acts::ProtoLayerHelper

class ProtoLayerHelper

This class is designed to parse a vector of Surfaces and sort them into corresponding proto layers.

Public Types

using SortingConfig = std::pair<BinningValue, double>

Public Functions

inline ProtoLayerHelper(const Config &config, std::unique_ptr<const Logger> logger = getDefaultLogger("ProtoLayerHelper", Logging::INFO))

Constructor with explicit config.

Parameters
  • config – Explicit config struct

  • logger – logging instance

~ProtoLayerHelper() = default
std::vector<ProtoLayer> protoLayers(const GeometryContext &gctx, const std::vector<const Surface*> &surfaces, const SortingConfig &sorting) const

Sort the surfaces into ProtoLayers.

Parameters
  • gctx – The geometry context (usually building context at this stage)

  • surfaces – The surfaces to be sorted into arrays

  • sorting – The sorting setup, one single sorting

Returns

A vector of ProtoLayers

std::vector<ProtoLayer> protoLayers(const GeometryContext &gctx, const std::vector<const Surface*> &surfaces, const std::vector<SortingConfig> &sortings) const

Sort the surfaces into ProtoLayers, sequential sorting.

Parameters
  • gctx – The geometry context (usually building context at this stage)

  • surfaces – The surfaces to be sorted into arrays

  • sortings – The sequential sorting setup

Returns

A vector of ProtoLayers

struct Config