 |
Belle II Software
release-05-01-25
|
11 #include <tracking/trackFindingCDC/topology/CDCWireTopology.h>
13 #include <tracking/trackFindingCDC/utilities/Algorithms.h>
15 #include <tracking/trackFindingCDC/utilities/Common.h>
17 #include <cdc/geometry/CDCGeometryPar.h>
20 using namespace TrackFindingCDC;
41 for (
size_t iCLayer = 0; iCLayer < cdcGeo.
nWireLayers() ; ++iCLayer) {
42 for (
size_t iWire = 0; iWire < cdcGeo.
nWiresInLayer(iCLayer); ++iWire) {
48 std::vector<VectorRange<CDCWire>> wiresByILayer =
56 std::vector<VectorRange<CDCWireLayer> > layersByISuperLayer =
67 wire.initialize(wirePosition, ignoreWireSag);
71 wireLayer.initialize();
75 wireSuperLayer.initialize();
82 const std::vector<CDCWireSuperLayer>& wireSuperLayers = cdcWireTopology.
getWireSuperLayers();
84 if (std::isnan(cylindricalR) or cylindricalR < 0) {
93 if (cylindricalR <= wireSuperLayer.getOuterCylindricalR()) {
94 return wireSuperLayer.getISuperLayer();
Class to identify a wire inside the CDC.
unsigned nWireLayers() const
Returns a number of wire layers.
Adapter of a category function to find the common category of several objects.
unsigned short getILayer() const
Getter for layer within the Super-Layer.
std::vector< Belle2::TrackFindingCDC::CDCWireLayer > m_wireLayers
Storage for all wire layers in the CDC.
std::vector< Belle2::TrackFindingCDC::CDCWire > m_wires
Storage for all wires in the CDC.
static const ISuperLayer c_Invalid
Constant making an invalid superlayer id.
void initialize()
Create all wires, wire layers and wire superlayers and their interdependences with base geometry from...
static CDCWireTopology & getInstance()
Getter for the singleton instance of the wire topology.
unsigned short getISuperLayer() const
Getter for Super-Layer.
WireNeighborKind getNeighborKind(ILayer iLayer, IWire iWire, ILayer iOtherLayer, IWire iOtherWire) const
Checks if two wires are closest neighbors.
static const ILayer c_NLayers
Total number of layers.
static const IWire c_NWires
Total number of wires.
static const ISuperLayer c_OuterVolume
Constant marking the subdetectors further away from the IP than the CDC.
static const ISuperLayer c_NSuperLayers
Total number of superlayers.
The Class for CDC Geometry Parameters.
static CDCGeometryPar & Instance(const CDCGeometry *=nullptr)
Static method to get a reference to the CDCGeometryPar instance.
const std::vector< Belle2::TrackFindingCDC::CDCWireSuperLayer > & getWireSuperLayers() const
Getter for the underlying storing superlayer vector.
Abstract base class for different kinds of events.
ISuperLayer getISuperLayerAtCylindricalR(double cylindricalR)
Returns the logical superlayer number at the given radius.
const CDCWireSuperLayer & getWireSuperLayer(const WireID &wireID) const
Getter for wire superlayer getter by wireID object.
A pair of iterators usable with the range base for loop.
Class representating a sense wire layer in the central drift chamber.
static const ISuperLayer c_InnerVolume
Constant marking the subdetectors closer to the IP than the CDC.
void reinitialize(EWirePosition wirePosition, bool ignoreWireSag)
Reload all geometry parameters form the CDCGeometryPar to adjust to changes in geometry.
EWirePosition
Wire position set.
Class representating a sense wire superlayer in the central drift chamber.
Class representing a sense wire in the central drift chamber.
unsigned nWiresInLayer(int layerId) const
Returns wire numbers in a layer.
std::vector< Belle2::TrackFindingCDC::CDCWireSuperLayer > m_wireSuperLayers
Storage for all wire superlayers in the CDC.
Generic functor to get the superlayer id from an object.
Type for the neighbor relationship from one wire to another.
double getInnerCylindricalR() const
Getter for the inner radius of the layer as retrived from the CDCGeometryPar by the inner most layer.
unsigned short getIWire() const
Getter for wire within the layer.
Class representating the sense wire arrangement in the whole of the central drift chamber.
WireNeighborKind getNeighborKind(const WireID &wireID, const WireID &otherWireID) const
Checks if two wires are closest neighbors.
bool isValidISuperLayer(ISuperLayer iSuperLayer) const
Checks the validity of the superlayer id.