File DoubleHitSpacePointBuilder.hpp

namespace Acts

Set the Geometry Context PLUGIN.

Set the Calibration Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.

Set the Mangetic Field Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.

Currently implemented for the two most common formats: rz and xyz.

struct DoubleHitSpacePointConfig
#include <Acts/Plugins/Digitization/DoubleHitSpacePointBuilder.hpp>

Configuration of the class to steer its behaviour.

Public Members

double diffDist = 100. * UnitConstants::mm

Accepted distance between two clusters.

double diffPhi2 = 1.

Accepted squared difference in phi for two clusters.

double diffTheta2 = 1.

Accepted squared difference in theta for two clusters.

double stripLengthGapTolerance = 0.01

Allowed increase of strip length wrt gaps between strips.

double stripLengthTolerance = 0.01

Allowed increase of strip length.

bool usePerpProj = false

Perform the perpendicular projection for space point finding.

Vector3 vertex = {0., 0., 0.}

Assumed position of the vertex.

template<typename Cluster>
class SpacePointBuilder<SpacePoint<Cluster>>
#include <Acts/Plugins/Digitization/DoubleHitSpacePointBuilder.hpp>

Public Functions

SpacePointBuilder(DoubleHitSpacePointConfig cfg)

Constructor.

Parameters

cfg – Specific config that will be used instead of the default values

void calculateSpacePoints(const GeometryContext &gctx, const std::vector<std::pair<const Cluster*, const Cluster*>> &clusterPairs, std::vector<SpacePoint<Cluster>> &spacePoints) const

Calculates the space points out of a given collection of clusters on several strip detectors and stores the data.

Note

If no configuration is set, the default values will be used

Parameters
  • gctx – The current geometry context object, e.g. alignment

  • clusterPairs – pairs of clusters that are space point candidates

  • spacePoints – storage of the results

void makeClusterPairs(const GeometryContext &gctx, const std::vector<const Cluster*> &clustersFront, const std::vector<const Cluster*> &clustersBack, std::vector<std::pair<const Cluster*, const Cluster*>> &clusterPairs) const

Searches possible combinations of two clusters on different surfaces that may come from the same particles.

Note

The structure of clustersFront and clustersBack is meant to be clusters[Independent clusters on a single surface]

Parameters
  • gctx – The current geometry context object, e.g. alignment

  • clustersFront – vector of clusters on a surface

  • clustersBack – vector of clusters on another surface

  • clusterPairs – storage of the cluster pairs

Private Functions

std::pair<Vector3, Vector3> endsOfStrip(const GeometryContext &gctx, const Cluster &cluster) const

Calculates the top and bottom ends of a SDE that corresponds to a given hit.

Parameters
  • gctx – The geometry context to use

  • cluster – object that stores the information about the hit

Returns

vectors to the top and bottom end of the SDE

Vector3 globalCoords(const GeometryContext &gctx, const Cluster &cluster) const

Getter method for the global coordinates of a cluster.

Parameters
  • gctx – The geometry context to use

  • cluster – object related to the cluster that holds the necessary information

Returns

vector of the global coordinates of the cluster

Vector2 localCoords(const Cluster &cluster) const

Getter method for the local coordinates of a cluster on its corresponding surface.

Parameters

cluster – object related to the cluster that holds the necessary information

Returns

vector of the local coordinates of the cluster on the surface

Private Members

DoubleHitSpacePointConfig m_cfg

Config.