14 #include "TEveGeoNode.h"
31 TEveElement& oItemHolder) {
34 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
36 std::vector<std::pair<DetId, float> > detids = iCluster->hitsAndFractions();
39 std::vector<double> phis;
40 for (std::vector<std::pair<DetId, float> >::const_iterator
id = detids.begin(),
end = detids.end();
id !=
end;
43 if (corners !=
nullptr) {
44 std::vector<float> centre(3, 0);
46 for (
unsigned int i = 0;
i < 24;
i += 3) {
47 centre[0] += corners[
i];
48 centre[1] += corners[
i + 1];
49 centre[2] += corners[
i + 2];
52 phis.push_back(TEveVector(centre[0], centre[1], centre[2]).
Phi());
57 TGeoBBox* sc_box =
new TGeoTubeSeg(
r - 2,
60 phiRange.first * 180 /
M_PI - 0.5,
61 phiRange.second * 180 /
M_PI + 0.5);
63 sc->SetPickable(kTRUE);
71 TEveElement& oItemHolder) {
74 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
76 double theta_min = 10;
77 std::vector<std::pair<DetId, float> > detids = iCluster->hitsAndFractions();
80 for (std::vector<std::pair<DetId, float> >::const_iterator
id = detids.begin(),
end = detids.end();
id !=
end;
83 if (corners !=
nullptr) {
84 std::vector<float> centre(3, 0);
86 for (
unsigned int i = 0;
i < 24;
i += 3) {
87 centre[0] += corners[
i];
88 centre[1] += corners[
i + 1];
89 centre[2] += corners[
i + 2];
92 double theta = TEveVector(centre[0], centre[1], centre[2]).Theta();
93 if (
theta > theta_max)
95 if (
theta < theta_min)
101 if ((theta_max > 0 && theta_max < pb->context().caloTransAngle()) ||
110 pb, &oItemHolder, r_ecal - 1, z_ecal - 1, theta_min - 0.003, theta_max + 0.003, iPhi);