CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/Fireworks/Calo/interface/FWTauProxyBuilderBase.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Calo_FWTauProxyBuilderBase_h
00002 #define Fireworks_Calo_FWTauProxyBuilderBase_h
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:     Calo
00007 // Class  :     FWTauProxyBuilderBase
00008 // 
00017 //
00018 // Original Author:  Alja Mrak-Tadel 
00019 //         Created:  Thu Oct 21 20:40:32 CEST 2010
00020 // $Id: FWTauProxyBuilderBase.h,v 1.1 2010/10/22 14:34:44 amraktad Exp $
00021 //
00022 
00023 #include "Fireworks/Core/interface/FWProxyBuilderBase.h"
00024 #include "Fireworks/Core/interface/FWViewType.h"
00025 #include "Fireworks/Calo/interface/scaleMarker.h"
00026 #include <vector>
00027 
00028 class TEveScalableStraightLineSet;
00029 class FWViewContext;
00030 
00031 namespace reco
00032 {
00033 class Jet;
00034 class BaseTau;
00035 } 
00036 
00037 namespace fireworks
00038 {
00039 class Context;
00040 }
00041 
00042 class FWTauProxyBuilderBase : public FWProxyBuilderBase
00043 {
00044 public:
00045    FWTauProxyBuilderBase();
00046    virtual ~FWTauProxyBuilderBase();
00047 
00048    virtual bool haveSingleProduct() const { return false; }
00049    virtual bool havePerViewProduct(FWViewType::EType) const { return true; }
00050    virtual void scaleProduct(TEveElementList* parent, FWViewType::EType, const FWViewContext* vc);
00051    virtual void cleanLocal();
00052 
00053 protected:
00054    float m_minTheta;
00055    float m_maxTheta;
00056    std::vector<double> m_phis;
00057    void buildBaseTau( const reco::BaseTau& iTau, const reco::Jet& iJet, TEveElement* comp, FWViewType::EType type, const FWViewContext* vc);
00058 
00059    virtual void localModelChanges(const FWModelId& iId, TEveElement* iCompound,
00060                                   FWViewType::EType viewType, const FWViewContext* vc);
00061 private:
00062    FWTauProxyBuilderBase(const FWTauProxyBuilderBase&); // stop default
00063 
00064    const FWTauProxyBuilderBase& operator=(const FWTauProxyBuilderBase&); // stop default
00065 
00066    // ---------- member data --------------------------------
00067    // Add Tracks which passed quality cuts and
00068    // are inside a tracker signal cone around leading Track
00069    void addConstituentTracks( const reco::BaseTau &tau, class TEveElement *product );
00070    // Add leading Track
00071    void addLeadTrack( const reco::BaseTau &tau, class TEveElement *product );
00072    std::vector<fireworks::scaleMarker> m_lines;
00073 };
00074 
00075 
00076 #endif