1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
// -*- C++ -*-
//
// Package: Tracks
// Class : FWSiPixelClusterDetProxyBuilder
//
//
// Original Author:
// Created: Thu Dec 6 18:01:21 PST 2007
//
#include "TEveGeoNode.h"
#include "TEveGeoShape.h"
#include "Fireworks/Core/interface/FWProxyBuilderBase.h"
#include "Fireworks/Core/interface/FWEventItem.h"
#include "Fireworks/Core/interface/FWGeometry.h"
#include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
#include "DataFormats/DetId/interface/DetId.h"
class FWSiPixelClusterDetProxyBuilder : public FWProxyBuilderBase {
public:
FWSiPixelClusterDetProxyBuilder() {}
~FWSiPixelClusterDetProxyBuilder() override {}
REGISTER_PROXYBUILDER_METHODS();
private:
using FWProxyBuilderBase::build;
void build(const FWEventItem* iItem, TEveElementList* product, const FWViewContext*) override;
public:
FWSiPixelClusterDetProxyBuilder(const FWSiPixelClusterDetProxyBuilder&) = delete;
const FWSiPixelClusterDetProxyBuilder& operator=(const FWSiPixelClusterDetProxyBuilder&) = delete;
};
void FWSiPixelClusterDetProxyBuilder::build(const FWEventItem* iItem, TEveElementList* product, const FWViewContext*) {
const SiPixelClusterCollectionNew* pixels = nullptr;
iItem->get(pixels);
if (!pixels)
return;
const FWGeometry* geom = iItem->getGeom();
for (SiPixelClusterCollectionNew::const_iterator set = pixels->begin(), setEnd = pixels->end(); set != setEnd;
++set) {
unsigned int id = set->detId();
DetId detid(id);
if (geom->contains(detid)) {
const edmNew::DetSet<SiPixelCluster>& clusters = *set;
for (edmNew::DetSet<SiPixelCluster>::const_iterator itc = clusters.begin(), edc = clusters.end(); itc != edc;
++itc) {
TEveGeoShape* shape = geom->getEveShape(detid);
if (shape) {
shape->SetMainTransparency(50);
setupAddElement(shape, product);
}
}
}
}
}
REGISTER_FWPROXYBUILDER(FWSiPixelClusterDetProxyBuilder,
SiPixelClusterCollectionNew,
"SiPixelClusterDets",
FWViewType::kAll3DBits | FWViewType::kAllRPZBits);
|