00001 // -*- C++ -*- 00002 // AID-GENERATED 00003 // ========================================================================= 00004 // This class was generated by AID - Abstract Interface Definition 00005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 00006 // ========================================================================= 00007 #ifndef GEAR_VXDPARAMETERS_H 00008 #define GEAR_VXDPARAMETERS_H 1 00009 00010 #include "GEAR.h" 00011 #include "gear/GearParameters.h" 00012 00013 namespace gear { 00014 00015 class VXDLayerLayout; 00016 00030 class VXDParameters : virtual public GearParameters { 00031 00032 public: 00034 virtual ~VXDParameters() { /* nop */; } 00035 00036 // static constants (enums( for the type of layout 00037 00038 static const int CCD = 1 ; 00039 static const int CMOS = 2 ; 00040 static const int HYBRID = 3 ; 00042 virtual const VXDLayerLayout & getVXDLayerLayout() const = 0; 00043 00047 virtual int getVXDType() const = 0; 00048 00051 virtual double getShellHalfLength() const = 0; 00052 00055 virtual double getShellGap() const = 0; 00056 00059 virtual double getShellInnerRadius() const = 0; 00060 00063 virtual double getShellOuterRadius() const = 0; 00064 00067 virtual double getShellRadLength() const = 0; 00068 00071 virtual bool isPointInLadder(Point3D p) const = 0; 00072 00075 virtual bool isPointInSensitive(Point3D p) const = 0; 00076 00079 virtual Vector3D distanceToNearestLadder(Point3D p) const = 0; 00080 00083 virtual Vector3D distanceToNearestSensitive(Point3D p) const = 0; 00084 00091 virtual Vector3D intersectionLadder(Point3D p, Vector3D v) const = 0; 00092 00099 virtual Vector3D intersectionSensitive(Point3D p, Vector3D v) const = 0; 00100 }; // class 00101 } // namespace gear 00102 #endif /* ifndef GEAR_VXDPARAMETERS_H */