File indexing completed on 2024-04-06 12:11:32
0001 #ifndef Fireworks_Core_FWRPZViewGeometry_h
0002 #define Fireworks_Core_FWRPZViewGeometry_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #include "TEveElement.h"
0025 #include "Fireworks/Core/interface/FWViewType.h"
0026 #include "Fireworks/Core/interface/FWViewGeometryList.h"
0027 #include "Fireworks/Core/interface/FWGeometry.h"
0028
0029
0030 class TGeoShape;
0031
0032 class FWRPZViewGeometry : public FWViewGeometryList {
0033 public:
0034 FWRPZViewGeometry(const fireworks::Context& context);
0035 ~FWRPZViewGeometry() override;
0036
0037
0038
0039
0040
0041
0042 void initStdGeoElements(const FWViewType::EType id);
0043
0044 void showPixelBarrel(bool);
0045 void showPixelEndcap(bool);
0046 void showTrackerBarrel(bool);
0047 void showTrackerEndcap(bool);
0048 void showRpcEndcap(bool);
0049 void showGEM(bool);
0050 void showME0(bool);
0051 void showMtdBarrel(bool);
0052 void showMtdEndcap(bool);
0053
0054 private:
0055 FWRPZViewGeometry(const FWRPZViewGeometry&);
0056 const FWRPZViewGeometry& operator=(const FWRPZViewGeometry&);
0057
0058
0059
0060 TEveElement* makeMuonGeometryRhoPhi();
0061 TEveElement* makeMuonGeometryRhoZ();
0062 TEveElement* makeCaloOutlineRhoPhi();
0063 TEveElement* makeCaloOutlineRhoZ();
0064 void estimateProjectionSizeDT(const FWGeometry::GeomDetInfo& info, float&, float&, float&, float&);
0065 void estimateProjectionSizeCSC(const FWGeometry::GeomDetInfo& info, float&, float&, float&, float&);
0066 void estimateProjectionSize(const float*, float&, float&, float&, float&);
0067
0068 void importNew(TEveElementList* x);
0069
0070 TEveGeoShape* makeShape(double, double, double, double);
0071
0072 TEveElementList* m_rhoPhiGeo;
0073 TEveElementList* m_rhoZGeo;
0074
0075 TEveElementList* m_pixelBarrelElements;
0076 TEveElementList* m_pixelEndcapElements;
0077 TEveElementList* m_trackerBarrelElements;
0078 TEveElementList* m_trackerEndcapElements;
0079 TEveElementList* m_rpcEndcapElements;
0080 TEveElementList* m_GEMElements;
0081 TEveElementList* m_ME0Elements;
0082 TEveElementList* m_mtdBarrelElements;
0083 TEveElementList* m_mtdEndcapElements;
0084 };
0085
0086 #endif