Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:46:19

0001 #ifndef Fireworks_Core_FWRPZViewGeometry_h
0002 #define Fireworks_Core_FWRPZViewGeometry_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Core
0006 // Class  :     FWRPZViewGeometry
0007 //
0008 /**\class FWRPZViewGeometry FWRPZViewGeometry.h Fireworks/Core/interface/FWRPZViewGeometry.h
0009 
0010  Description: [one line class summary]
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Original Author:  Alja Mrak-Tadel
0018 //         Created:  Thu Mar 25 21:01:12 CET 2010
0019 //
0020 
0021 // system include files
0022 
0023 // user include files
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 // forward declarations
0030 class TGeoShape;
0031 
0032 class FWRPZViewGeometry : public FWViewGeometryList {
0033 public:
0034   FWRPZViewGeometry(const fireworks::Context& context);
0035   ~FWRPZViewGeometry() override;
0036 
0037   // ---------- const member functions ---------------------
0038 
0039   // ---------- static member functions --------------------
0040 
0041   // ---------- member functions ---------------------------
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&);                   // stop default
0056   const FWRPZViewGeometry& operator=(const FWRPZViewGeometry&);  // stop default
0057 
0058   // ---------- member data --------------------------------
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