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);
const fireworks::Context & context() const
const FWDisplayProperties & defaultDisplayProperties() const
std::pair< double, double > getPhiRange(const std::vector< double > &phis, double phi)
static float caloTransAngle()
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
Geom::Theta< T > theta() const
static float caloZ2(bool offset=true)
const FWEventItem * item() const
static float caloR2(bool offset=true)
static float caloR1(bool offset=true)
bool makeRhoZSuperCluster(FWProxyBuilderBase *, const reco::SuperClusterRef &iCluster, float iPhi, TEveElement &oItemHolder)
void addRhoZEnergyProjection(FWProxyBuilderBase *, TEveElement *, double r_ecal, double z_ecal, double theta_min, double theta_max, double phi)
const float * getCorners(unsigned int id) const
bool makeRhoPhiSuperCluster(FWProxyBuilderBase *, const reco::SuperClusterRef &iCluster, float iPhi, TEveElement &oItemHolder)
static float caloZ1(bool offset=true)
TEveGeoShape * getShape(const char *name, TGeoBBox *shape, Color_t color)
FWGeometry * getGeom() const