00001 #ifndef Fireworks_Calo_FWCaloRecHitDigitSetProxyBuilder_h 00002 #define Fireworks_Calo_FWCaloRecHitDigitSetProxyBuilder_h 00003 00004 #include "TEveVector.h" 00005 #include "Fireworks/Core/interface/FWDigitSetProxyBuilder.h" 00006 00007 class CaloRecHit; 00008 00009 class FWCaloRecHitDigitSetProxyBuilder : public FWDigitSetProxyBuilder 00010 { 00011 public: 00012 FWCaloRecHitDigitSetProxyBuilder(); 00013 virtual ~FWCaloRecHitDigitSetProxyBuilder( void ) {} 00014 00015 virtual void setItem(const FWEventItem* iItem); 00016 00017 virtual bool havePerViewProduct(FWViewType::EType) const { return true; } 00018 virtual void scaleProduct(TEveElementList* parent, FWViewType::EType, const FWViewContext* vc); 00019 virtual void build( const FWEventItem* iItem, TEveElementList* product, const FWViewContext* ); 00020 00021 virtual float scaleFactor(const FWViewContext* vc); 00022 virtual void invertBox(bool x ) { m_invertBox = x ;} 00023 virtual void viewContextBoxScale( const float* corners, float scale, bool plotEt, std::vector<float>& scaledCorners, const CaloRecHit*); 00024 00025 private: 00026 00027 FWCaloRecHitDigitSetProxyBuilder( const FWCaloRecHitDigitSetProxyBuilder& ); 00028 const FWCaloRecHitDigitSetProxyBuilder& operator=( const FWCaloRecHitDigitSetProxyBuilder& ); 00029 00030 bool m_invertBox; 00031 bool m_ignoreGeoShapeSize; 00032 TEveVector m_vector; // internal memeber, to avoid constant recreation 00033 }; 00034 #endif