00001
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013
00014 #ifndef PROJECTIONSURFACESHELPER_H
00015 #define PROJECTIONSURFACESHELPER_H
00016
00017 class SoSeparator;
00018 class SoMaterial;
00019
00020 #include <QtCore/QObject>
00021 #include "VP1Base/VP1HelperClassBase.h"
00022 #include "VP1Utils/InDetProjFlags.h"
00023 #include "VP1GuideLineSystems/ProjectionSurfacesHelper.h"
00024
00025 class ProjectionSurfacesHelper : public QObject, public VP1HelperClassBase {
00026
00027 Q_OBJECT
00028
00029 public:
00030
00031
00032
00033
00034
00035 static ProjectionSurfacesHelper * createPixelHelper(SoMaterial*,SoSeparator * attachsep,QObject*parent=0,IVP1System* sys = 0);
00036 static ProjectionSurfacesHelper * createSCTHelper(SoMaterial*,SoSeparator * attachsep,QObject*parent=0,IVP1System* sys = 0);
00037 static ProjectionSurfacesHelper * createTRTHelper(SoMaterial*,SoSeparator * attachsep,QObject*parent=0,IVP1System* sys = 0);
00038
00039
00040 virtual ~ProjectionSurfacesHelper();
00041
00042
00043
00044 InDetProjFlags::InDetProjPartsFlags shownParts() const;
00045 SoMaterial * material();
00046
00047 public slots:
00048
00049 void setSurfaces(InDetProjFlags::InDetProjPartsFlags);
00050
00051 private:
00052
00053 ProjectionSurfacesHelper( const double& surfacethickness,
00054 const double& barrel_inner_radius,
00055 const double& barrel_outer_radius,
00056 const double& barrel_posneg_z,
00057 const double& endcap_surface_z,
00058 const double& endcap_surface_length,
00059 const double& endcap_inner_radius,
00060 const double& endcap_outer_radius,
00061 const double& endcap_zasr_disttobarrelcyl,
00062 const double& endcap_zasr_squeezefact,
00063 SoMaterial*, SoSeparator * attachsep, QObject * parent, IVP1System*sys );
00064
00065 class Imp;
00066 Imp * d;
00067
00068 };
00069
00070 #endif