Belle II Software development
ROIDetPlane.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <vxd/dataobjects/VxdID.h>
12
13#include <genfit/DetPlane.h>
14#include <genfit/SharedPlanePtr.h>
15
16#include <Math/Vector3D.h>
17
18namespace Belle2 {
26 class ROIDetPlane : public genfit::DetPlane {
27
28 public:
29
30 // TODO: Using u and v tolerances seems to be more "natural", or use theta and phi so its consistent for u and v direction
31 ROIDetPlane(const VxdID& vxdID, double toleranceZ, double tolerancePhi);
33 // Needed by root. Dont use!
34 ROIDetPlane() = default;
35
37 VxdID getVxdID() {return m_vxdID;};
38
40 bool isSensorInRange(const ROOT::Math::XYZVector& trackPosition, int layer);
41
43 void setSharedPlanePtr(genfit::SharedPlanePtr spp) {m_sharedPlanePtr = spp;};
45 genfit::SharedPlanePtr getSharedPlanePtr() {return m_sharedPlanePtr;};
46
47 private:
50 /* these two vectors define the planes going through the upper and lower edge of the sensor */
52 ROOT::Math::XYZVector m_orthoVec_upper;
54 ROOT::Math::XYZVector m_orthoVec_lower;
55
56 double m_sensorZMin = 0;
57 double m_sensorZMax = 0;
59 int m_layer = 0;
61 genfit::SharedPlanePtr m_sharedPlanePtr;
62 };
64}
ROIDetPlane describes the plane containing a sensor.
Definition: ROIDetPlane.h:26
double m_sensorZMax
max of allowed global z range
Definition: ROIDetPlane.h:57
genfit::SharedPlanePtr getSharedPlanePtr()
return the shared-plane pointer
Definition: ROIDetPlane.h:45
genfit::SharedPlanePtr m_sharedPlanePtr
the shared plane pointer
Definition: ROIDetPlane.h:61
ROOT::Math::XYZVector m_orthoVec_upper
vector normal to the vector from 0,0,0 to a point on the upper edge of the sensor in x-y-plane
Definition: ROIDetPlane.h:52
VxdID getVxdID()
return the sensor ID
Definition: ROIDetPlane.h:37
void setSharedPlanePtr(genfit::SharedPlanePtr spp)
assign the shared-plane pointer
Definition: ROIDetPlane.h:43
double m_sensorZMin
min of allowed global z range
Definition: ROIDetPlane.h:56
bool isSensorInRange(const ROOT::Math::XYZVector &trackPosition, int layer)
determine if the sensor is in range
Definition: ROIDetPlane.cc:67
VxdID m_vxdID
the sensor ID
Definition: ROIDetPlane.h:48
ROOT::Math::XYZVector m_orthoVec_lower
vector normal to the vector from 0,0,0 to a point on the lower edge of the sensor in x-y-plane
Definition: ROIDetPlane.h:54
int m_layer
layer number
Definition: ROIDetPlane.h:59
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
Abstract base class for different kinds of events.