File indexing completed on 2024-04-06 12:11:27
0001 #ifndef Fireworks_Calo_FWTauProxyBuilderBase_h
0002 #define Fireworks_Calo_FWTauProxyBuilderBase_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include "Fireworks/Core/interface/FWProxyBuilderBase.h"
0023 #include "Fireworks/Core/interface/FWViewType.h"
0024 #include "Fireworks/Calo/interface/scaleMarker.h"
0025 #include <vector>
0026
0027 class TEveScalableStraightLineSet;
0028 class FWViewContext;
0029
0030 namespace reco {
0031 class Jet;
0032 class BaseTau;
0033 }
0034
0035 namespace fireworks {
0036 class Context;
0037 }
0038
0039 class FWTauProxyBuilderBase : public FWProxyBuilderBase {
0040 public:
0041 FWTauProxyBuilderBase();
0042 ~FWTauProxyBuilderBase() override;
0043
0044 bool haveSingleProduct() const override { return false; }
0045 bool havePerViewProduct(FWViewType::EType) const override { return true; }
0046 void scaleProduct(TEveElementList* parent, FWViewType::EType, const FWViewContext* vc) override;
0047 void cleanLocal() override;
0048
0049 void setItem(const FWEventItem* iItem) override;
0050
0051 protected:
0052 float m_minTheta;
0053 float m_maxTheta;
0054 std::vector<double> m_phis;
0055 void buildBaseTau(const reco::BaseTau& iTau,
0056 const reco::Jet* iJet,
0057 TEveElement* comp,
0058 FWViewType::EType type,
0059 const FWViewContext* vc);
0060
0061 void localModelChanges(const FWModelId& iId,
0062 TEveElement* iCompound,
0063 FWViewType::EType viewType,
0064 const FWViewContext* vc) override;
0065
0066 public:
0067 FWTauProxyBuilderBase(const FWTauProxyBuilderBase&) = delete;
0068
0069 const FWTauProxyBuilderBase& operator=(const FWTauProxyBuilderBase&) = delete;
0070 private:
0071
0072
0073
0074 void addConstituentTracks(const reco::BaseTau& tau, class TEveElement* product);
0075
0076 void addLeadTrack(const reco::BaseTau& tau, class TEveElement* product);
0077 };
0078
0079 #endif