File indexing completed on 2024-04-06 12:11:45
0001
0002
0003
0004
0005
0006
0007
0008 #include "TEveStraightLineSet.h"
0009
0010 #include "Fireworks/Core/interface/FWSimpleProxyBuilderTemplate.h"
0011
0012 #include "DataFormats/EgammaCandidates/interface/Photon.h"
0013
0014 class FWPhotonLegoProxyBuilder : public FWSimpleProxyBuilderTemplate<reco::Photon> {
0015 public:
0016 FWPhotonLegoProxyBuilder() {}
0017 ~FWPhotonLegoProxyBuilder() override {}
0018
0019 REGISTER_PROXYBUILDER_METHODS();
0020
0021 FWPhotonLegoProxyBuilder(const FWPhotonLegoProxyBuilder&) = delete;
0022 const FWPhotonLegoProxyBuilder& operator=(const FWPhotonLegoProxyBuilder&) = delete;
0023
0024 private:
0025 using FWSimpleProxyBuilderTemplate<reco::Photon>::build;
0026 void build(const reco::Photon& iData, unsigned int iIndex, TEveElement& oItemHolder, const FWViewContext*) override;
0027 };
0028
0029 void FWPhotonLegoProxyBuilder::build(const reco::Photon& iData,
0030 unsigned int iIndex,
0031 TEveElement& oItemHolder,
0032 const FWViewContext*) {
0033 TEveStraightLineSet* marker = new TEveStraightLineSet("marker");
0034 setupAddElement(marker, &oItemHolder);
0035
0036 const double delta = 0.1;
0037 marker->AddLine(iData.eta() - delta, iData.phi() - delta, 0.1, iData.eta() + delta, iData.phi() + delta, 0.1);
0038 marker->AddLine(iData.eta() - delta, iData.phi() + delta, 0.1, iData.eta() + delta, iData.phi() - delta, 0.1);
0039 }
0040
0041 REGISTER_FWPROXYBUILDER(FWPhotonLegoProxyBuilder, reco::Photon, "Photons", FWViewType::kAllLegoBits);