CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/Fireworks/Core/interface/FWRPZView.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWRPZView_h
00002 #define Fireworks_Core_FWRPZView_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWRPZView
00007 //
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Tue Feb 19 10:33:21 EST 2008
00019 // $Id: FWRPZView.h,v 1.20 2011/03/22 13:52:18 amraktad Exp $
00020 //
00021 
00022 // system include files
00023 #include <string>
00024 
00025 // user include files
00026 #include "Fireworks/Core/interface/FWEveView.h"
00027 #include "Fireworks/Core/interface/FWDoubleParameter.h"
00028 #include "Fireworks/Core/interface/FWBoolParameter.h"
00029 #include "Fireworks/Core/interface/FWEvePtr.h"
00030 
00031 // forward declarations
00032 class TEveProjectionManager;
00033 class TGLMatrix;
00034 class TEveCalo2D;
00035 class TEveProjectionAxes;
00036 class TEveWindowSlot;
00037 class FWColorManager;
00038 class FWRPZViewGeometry;
00039 
00040 class FWRPZView : public FWEveView
00041 {
00042 public:
00043    FWRPZView(TEveWindowSlot* iParent, FWViewType::EType);
00044    virtual ~FWRPZView();
00045 
00046    // ---------- const member functions ---------------------
00047 
00048    virtual void addTo(FWConfiguration&) const;
00049    virtual void populateController(ViewerParameterGUI&) const;
00050    virtual TEveCaloViz* getEveCalo() const;
00051 
00052    // ---------- member functions ---------------------------
00053    virtual void setContext(const fireworks::Context&);
00054    virtual void setFrom(const FWConfiguration&);
00055    virtual void voteCaloMaxVal();
00056 
00057    virtual void eventBegin();
00058 
00059    //returns the new element created from this import
00060    void importElements(TEveElement* iProjectableChild, float layer, TEveElement* iProjectedParent=0);
00061  
00062 private:
00063    FWRPZView(const FWRPZView&);    // stop default
00064    const FWRPZView& operator=(const FWRPZView&);    // stop default 
00065 
00066    void doPreScaleDistortion();
00067    void doFishEyeDistortion();
00068    void doCompression(bool);
00069    void doShiftOrigin();
00070    
00071    void setEtaRng();
00072 
00073    void showProjectionAxes( );
00074 
00075    // ---------- member data --------------------------------
00076    static FWRPZViewGeometry* s_geometryList;
00077    const  static float s_distortF;
00078    const  static float s_distortFInv;
00079 
00080    TEveProjectionManager* m_projMgr;
00081    TEveProjectionAxes*    m_axes;
00082    TEveCalo2D*            m_calo;
00083 
00084 
00085    // parameters
00086    FWBoolParameter    m_shiftOrigin;
00087    FWDoubleParameter  m_fishEyeDistortion;
00088    FWDoubleParameter  m_fishEyeR;
00089 
00090    FWDoubleParameter  m_caloDistortion;
00091    FWDoubleParameter  m_muonDistortion;
00092    FWBoolParameter    m_showProjectionAxes;
00093    FWBoolParameter    m_compressMuon;
00094 
00095    FWBoolParameter*   m_showHF;
00096    FWBoolParameter*   m_showEndcaps;
00097 
00098 };
00099 
00100 
00101 #endif