14 #include "TEveGeoNode.h"
15 #include "TEveGeoShape.h"
32 TEveElement& oItemHolder) {
35 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
37 std::vector<std::pair<DetId, float> > detids = iCluster->hitsAndFractions();
40 std::vector<double> phis;
41 for (
std::vector<std::pair<DetId, float> >::const_iterator
id = detids.begin(),
end = detids.end();
id !=
end;
44 if (corners !=
nullptr) {
45 std::vector<float> centre(3, 0);
47 for (
unsigned int i = 0;
i < 24;
i += 3) {
48 centre[0] += corners[
i];
49 centre[1] += corners[
i + 1];
50 centre[2] += corners[
i + 2];
53 phis.push_back(TEveVector(centre[0], centre[1], centre[2]).
Phi());
58 TGeoBBox* sc_box =
new TGeoTubeSeg(
r - 2,
61 phiRange.first * 180 /
M_PI - 0.5,
62 phiRange.second * 180 /
M_PI + 0.5);
64 sc->SetPickable(kTRUE);
72 TEveElement& oItemHolder) {
75 TEveGeoManagerHolder gmgr(TEveGeoShape::GetGeoMangeur());
77 double theta_min = 10;
78 std::vector<std::pair<DetId, float> > detids = iCluster->hitsAndFractions();
81 for (
std::vector<std::pair<DetId, float> >::const_iterator
id = detids.begin(),
end = detids.end();
id !=
end;
84 if (corners !=
nullptr) {
85 std::vector<float> centre(3, 0);
87 for (
unsigned int i = 0;
i < 24;
i += 3) {
88 centre[0] += corners[
i];
89 centre[1] += corners[
i + 1];
90 centre[2] += corners[
i + 2];
93 double theta = TEveVector(centre[0], centre[1], centre[2]).Theta();
94 if (
theta > theta_max)
96 if (
theta < theta_min)
102 if ((theta_max > 0 && theta_max < pb->context().caloTransAngle()) ||
111 pb, &oItemHolder, r_ecal - 1, z_ecal - 1, theta_min - 0.003, theta_max + 0.003, iPhi);