Belle II Software  release-05-01-25
StandardAxes.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost, Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <tracking/trackFindingCDC/hough/axes/StandardAxes.h>
12 
13 #include <tracking/trackFindingCDC/topology/CDCWireTopology.h>
14 #include <tracking/trackFindingCDC/topology/CDCWireLayer.h>
15 #include <tracking/trackFindingCDC/geometry/GeneralizedCircle.h>
16 
17 using namespace Belle2;
18 using namespace TrackFindingCDC;
19 
21  : m_curv(curv)
22  , m_arcLength2DByICLayer{{0}}
23 {
25 
26  for (const CDCWireLayer& wireLayer : wireTopology.getWireLayers()) {
27  ILayer iCLayer = wireLayer.getICLayer();
28  double cylindricalR = (wireLayer.getOuterCylindricalR() + wireLayer.getInnerCylindricalR()) / 2;
29  double factor = GeneralizedCircle::arcLengthFactor(cylindricalR, curv);
30 
31  // Fall back when the closest approach to the layer is the apogee
32  double arcLength2D = cylindricalR * std::fmin(factor, M_PI);
33  double r = 1.0 / fabs(m_curv);
34 
35  m_arcLength2DByICLayer[iCLayer] = arcLength2D;
36  m_secondaryArcLength2DByICLayer[iCLayer] = 2 * M_PI * r - arcLength2D;
37  }
38 }
Belle2::TrackFindingCDC::CDCWireTopology::getInstance
static CDCWireTopology & getInstance()
Getter for the singleton instance of the wire topology.
Definition: CDCWireTopology.cc:22
Belle2::TrackFindingCDC::CDCWireTopology::getWireLayers
const std::vector< Belle2::TrackFindingCDC::CDCWireLayer > & getWireLayers() const
Getter for the underlying storing layer vector.
Definition: CDCWireTopology.h:159
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::GeneralizedCircle::arcLengthFactor
double arcLengthFactor(const double directDistance) const
Helper function the calculate the factor between the length of a secant line and the length on the ar...
Definition: GeneralizedCircle.h:663
Belle2::TrackFindingCDC::CDCWireLayer
Class representating a sense wire layer in the central drift chamber.
Definition: CDCWireLayer.h:51
Belle2::TrackFindingCDC::CurvWithArcLength2DCache::CurvWithArcLength2DCache
CurvWithArcLength2DCache(float curv)
Make cache for one curvature value.
Definition: StandardAxes.cc:20
Belle2::TrackFindingCDC::CDCWireTopology
Class representating the sense wire arrangement in the whole of the central drift chamber.
Definition: CDCWireTopology.h:54