CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/Fireworks/Core/interface/FWRPZViewGeometry.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWRPZViewGeometry_h
00002 #define Fireworks_Core_FWRPZViewGeometry_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWRPZViewGeometry
00007 // 
00016 //
00017 // Original Author:  Alja Mrak-Tadel
00018 //         Created:  Thu Mar 25 21:01:12 CET 2010
00019 // $Id: FWRPZViewGeometry.h,v 1.10 2011/10/15 02:33:29 amraktad Exp $
00020 //
00021 
00022 // system include files
00023 
00024 // user include files
00025 #include "TEveElement.h"
00026 #include "Fireworks/Core/interface/FWViewType.h"
00027 #include "Fireworks/Core/interface/FWViewGeometryList.h"
00028 #include "Fireworks/Core/interface/FWGeometry.h"
00029 
00030 // forward declarations
00031 class TGeoShape;
00032 
00033 class FWRPZViewGeometry : public FWViewGeometryList
00034 {
00035 public:
00036    FWRPZViewGeometry(const fireworks::Context& context);
00037    virtual ~FWRPZViewGeometry();
00038 
00039    // ---------- const member functions ---------------------
00040 
00041    // ---------- static member functions --------------------
00042 
00043    // ---------- member functions ---------------------------
00044    void initStdGeoElements(const FWViewType::EType id);
00045 
00046    void showPixelBarrel( bool );
00047    void showPixelEndcap( bool );
00048    void showTrackerBarrel( bool );
00049    void showTrackerEndcap( bool );
00050 
00051 private:
00052    FWRPZViewGeometry(const FWRPZViewGeometry&); // stop default
00053    const FWRPZViewGeometry& operator=(const FWRPZViewGeometry&); // stop default
00054 
00055    // ---------- member data --------------------------------
00056 
00057    TEveElement* makeMuonGeometryRhoPhi();
00058    TEveElement* makeMuonGeometryRhoZ();
00059    TEveElement* makeCaloOutlineRhoPhi();
00060    TEveElement* makeCaloOutlineRhoZ();
00061    void estimateProjectionSizeDT( const FWGeometry::GeomDetInfo& info, float&, float&, float&, float& );
00062    void estimateProjectionSizeCSC( const FWGeometry::GeomDetInfo& info, float&, float&, float&, float& );
00063    void estimateProjectionSize( const float*, float&, float&, float&, float& );
00064 
00065    void importNew(TEveElementList* x);
00066 
00067    TEveGeoShape* makeShape( double, double, double, double );
00068 
00069    TEveElementList*  m_rhoPhiGeo;
00070    TEveElementList*  m_rhoZGeo;
00071 
00072 
00073    TEveElementList*   m_pixelBarrelElements;
00074    TEveElementList*   m_pixelEndcapElements;
00075    TEveElementList*   m_trackerBarrelElements;
00076    TEveElementList*   m_trackerEndcapElements;
00077 };
00078 
00079 
00080 #endif