10 #include "tracking/pxdDataReductionClasses/ROIGeometry.h"
11 #include <framework/logging/Logger.h>
12 #include <vxd/geometry/GeoCache.h>
13 #include <vxd/geometry/SensorInfoBase.h>
14 #include <tracking/pxdDataReductionClasses/ROIDetPlane.h>
21 ROIGeometry::ROIGeometry()
26 ROIGeometry::~ROIGeometry()
33 ROIGeometry::fillPlaneList(
double toleranceZ,
double tolerancePhi)
39 std::set<Belle2::VxdID> pxdLayers = aGeometry.
getLayers(VXD::SensorInfoBase::PXD);
40 std::set<Belle2::VxdID>::iterator itPxdLayers = pxdLayers.begin();
44 while ((itPxdLayers != pxdLayers.end()) && (itPxdLayers->getLayerNumber() != 7)) {
46 std::set<Belle2::VxdID> pxdLadders = aGeometry.
getLadders(*itPxdLayers);
47 std::set<Belle2::VxdID>::iterator itPxdLadders = pxdLadders.begin();
49 while (itPxdLadders != pxdLadders.end()) {
51 std::set<Belle2::VxdID> pxdSensors = aGeometry.
getSensors(*itPxdLadders);
52 std::set<Belle2::VxdID>::iterator itPxdSensors = pxdSensors.begin();
53 B2DEBUG(20,
" pxd sensor info " << * (pxdSensors.begin()));
55 while (itPxdSensors != pxdSensors.end()) {
56 B2DEBUG(20,
" pxd sensor info " << *itPxdSensors);
58 ROIDetPlane plane(*itPxdSensors, toleranceZ, tolerancePhi);
60 plane.setSharedPlanePtr(sharedPlane);
62 m_planeList.push_back(plane);
71 B2DEBUG(20,
"just filled the plane list with " << m_planeList.size() <<
"planes");
76 ROIGeometry::appendSelectedPlanes(std::list<ROIDetPlane>* selectedPlanes, TVector3 recoTrackPosition,
int layer)
80 std::list<ROIDetPlane>::iterator itPlanes = m_planeList.begin();
82 B2DEBUG(20,
"append Planes, checking " << m_planeList.size() <<
" planes");
84 while (itPlanes != m_planeList.end()) {
86 if (itPlanes->isSensorInRange(recoTrackPosition, layer))
87 selectedPlanes->push_back(*itPlanes);
93 B2DEBUG(20,
" list of sensor IDs of the selected planes for this track:");
94 itPlanes = selectedPlanes->begin();
95 while (itPlanes != selectedPlanes->end()) {
96 B2DEBUG(20,
" " << (itPlanes->getVxdID()));
ROIDetPlane describes the plane containing a sensor.
Class to faciliate easy access to sensor information of the VXD like coordinate transformations or pi...
const std::set< Belle2::VxdID > getLayers(SensorInfoBase::SensorType sensortype=SensorInfoBase::VXD)
Return a set of all known Layers.
const std::set< Belle2::VxdID > & getSensors(Belle2::VxdID ladder) const
Return a set of all sensor IDs belonging to a given ladder.
const std::set< Belle2::VxdID > & getLadders(Belle2::VxdID layer) const
Return a set of all ladder IDs belonging to a given layer.
Abstract base class for different kinds of events.
std::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.