Belle II Software  release-08-01-10
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 
18 namespace 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  explicit ROIDetPlane(const VxdID& vxdID);
35  // Needed by root. Dont use!
36  ROIDetPlane() = default;
37 
39  VxdID getVxdID() {return m_vxdID;};
40 
42  bool isSensorInRange(const ROOT::Math::XYZVector& trackPosition, int layer);
43 
48 
49  private:
52  /* these two vectors define the planes going through the upper and lower edge of the sensor */
54  ROOT::Math::XYZVector m_orthoVec_upper;
56  ROOT::Math::XYZVector m_orthoVec_lower;
57 
58  double m_sensorZMin = 0;
59  double m_sensorZMax = 0;
61  int m_layer = 0;
64  };
66 }
ROIDetPlane describes the plane containing a sensor.
Definition: ROIDetPlane.h:26
double m_sensorZMax
max of allowed global z range
Definition: ROIDetPlane.h:59
genfit::SharedPlanePtr getSharedPlanePtr()
return the shared-plane pointer
Definition: ROIDetPlane.h:47
genfit::SharedPlanePtr m_sharedPlanePtr
the shared plane pointer
Definition: ROIDetPlane.h:63
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:54
VxdID getVxdID()
return the sensor ID
Definition: ROIDetPlane.h:39
void setSharedPlanePtr(genfit::SharedPlanePtr spp)
assign the shared-plane pointer
Definition: ROIDetPlane.h:45
double m_sensorZMin
min of allowed global z range
Definition: ROIDetPlane.h:58
bool isSensorInRange(const ROOT::Math::XYZVector &trackPosition, int layer)
determine if the sensor is in range
Definition: ROIDetPlane.cc:72
VxdID m_vxdID
the sensor ID
Definition: ROIDetPlane.h:47
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:56
int m_layer
layer number
Definition: ROIDetPlane.h:61
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
Detector plane.
Definition: DetPlane.h:59
Abstract base class for different kinds of events.
std::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.