GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
ZPlanarParameters.h
1 
2 // -*- C++ -*-
3 #ifndef GEAR_ZPlanarParameters_H
4 #define GEAR_ZPlanarParameters_H 1
5 
6 #include "GEAR.h"
7 #include "gear/GearParameters.h"
8 
9 namespace gear {
10 
11 class ZPlanarLayerLayout;
12 
26 class ZPlanarParameters : virtual public GearParameters {
27 
28 public:
30  virtual ~ZPlanarParameters() { /* nop */; }
31 
32  // static constants (enums for the type of the detetctor (layout etc) )
33 
34  static const int CCD = 1 ;
35  static const int CMOS = 2 ;
36  static const int HYBRID = 3 ;
37 
39  virtual const ZPlanarLayerLayout & getZPlanarLayerLayout() const = 0;
40 
42  inline const ZPlanarLayerLayout& getVXDLayerLayout() const { return getZPlanarLayerLayout() ; }
43 
46  virtual int getType() const = 0;
47 
51  virtual int getVXDType() const { return getType() ; }
52 
55  virtual double getShellHalfLength() const = 0;
56 
59  virtual double getShellGap() const = 0;
60 
63  virtual double getShellInnerRadius() const = 0;
64 
67  virtual double getShellOuterRadius() const = 0;
68 
71  virtual double getShellRadLength() const = 0;
72 
75  virtual bool isPointInLadder(Vector3D p ) const = 0;
76 
80  virtual bool isPointInSensitive(Vector3D p, SensorID* sensorID=0 ) const = 0;
81 
84  virtual Vector3D distanceToNearestLadder(Vector3D p) const = 0;
85 
88  virtual Vector3D distanceToNearestSensitive(Vector3D p) const = 0;
89 
96  virtual Vector3D intersectionLadder(Vector3D p, Vector3D v) const = 0;
97 
104  virtual Vector3D intersectionSensitive(Vector3D p, Vector3D v) const = 0;
105 }; // class
106 } // namespace gear
107 #endif /* ifndef GEAR_ZPlanarParameters_H */
virtual double getShellOuterRadius() const =0
The outer radius of the support shell in mm.
virtual bool isPointInSensitive(Vector3D p, SensorID *sensorID=0) const =0
returns wheter a point is inside a sensitive volume- if sensorID != 0 the sensorID is returned in cas...
Geometry properties of a vertex detector needed for reconstruction code.
virtual double getShellInnerRadius() const =0
The inner radius of the support shell in mm.
virtual double getShellGap() const =0
The length of the gap in mm (gap position at z=0)
virtual bool isPointInLadder(Vector3D p) const =0
returns whether a point is inside a ladder
virtual int getVXDType() const
For backward compatibility: The type of detector: ZPlanarParameters.CCD, ZPlanarParameters.CMOS or ZPlanarParameters.HYBRID.
Abstract interface for a set of parameters that can be used to describe the geometrical properties of...
Simple three dimensional vector providing the components for cartesian, cylindrical and spherical coo...
Definition: Vector3D.h:18
virtual int getType() const =0
The type of detector - to be defined by users...
Abstract description of layers in a Vertex detector.
virtual Vector3D distanceToNearestLadder(Vector3D p) const =0
returns vector from point to nearest ladder
virtual Vector3D intersectionLadder(Vector3D p, Vector3D v) const =0
returns the first point where a given straight line (parameters point p and direction v) crosses a la...
const ZPlanarLayerLayout & getVXDLayerLayout() const
fix for backward compatibility
virtual double getShellRadLength() const =0
The radiation length in the support shell.
virtual Vector3D intersectionSensitive(Vector3D p, Vector3D v) const =0
returns the first point where a given strainght line (parameters point p and direction v) crosses a s...
virtual ~ZPlanarParameters()
Destructor.
virtual double getShellHalfLength() const =0
The half length (z) of the support shell in mm (w/o gap).
Helper struct for decoding a sensor ID.
Definition: GEAR.h:133
virtual Vector3D distanceToNearestSensitive(Vector3D p) const =0
returns vector from point to nearest sensitive volume
virtual const ZPlanarLayerLayout & getZPlanarLayerLayout() const =0
The layer layout in the detector.