File indexing completed on 2024-04-06 12:11:29
0001 #ifndef Fireworks_Core_BuilderUtils_h
0002 #define Fireworks_Core_BuilderUtils_h
0003
0004 #include <vector>
0005 #include <string>
0006 #include "Rtypes.h"
0007
0008 class TEveGeoShape;
0009 class TEveElement;
0010 class TGeoBBox;
0011 class FWProxyBuilderBase;
0012
0013 namespace edm {
0014 class EventBase;
0015 }
0016
0017 namespace fireworks {
0018 std::pair<double, double> getPhiRange(const std::vector<double>& phis, double phi);
0019 TEveGeoShape* getShape(const char* name, TGeoBBox* shape, Color_t color);
0020
0021 void addRhoZEnergyProjection(
0022 FWProxyBuilderBase*, TEveElement*, double r_ecal, double z_ecal, double theta_min, double theta_max, double phi);
0023
0024 std::string getTimeGMT(const edm::EventBase& event);
0025 std::string getLocalTime(const edm::EventBase& event);
0026
0027 void invertBox(std::vector<float>& corners);
0028 void addBox(const std::vector<float>& corners, TEveElement*, FWProxyBuilderBase*);
0029 void addCircle(double eta,
0030 double phi,
0031 double radius,
0032 const unsigned int nLineSegments,
0033 TEveElement* comp,
0034 FWProxyBuilderBase* pb);
0035 void addDashedArrow(double phi, double size, TEveElement* comp, FWProxyBuilderBase* pb);
0036 void addDashedLine(double phi, double theta, double size, TEveElement* comp, FWProxyBuilderBase* pb);
0037 void addDoubleLines(double phi, TEveElement* comp, FWProxyBuilderBase* pb);
0038
0039
0040
0041
0042 void energyScaledBox3DCorners(const float* corners, float scale, std::vector<float>&, bool invert = false);
0043 void drawEnergyScaledBox3D(const float* corners, float scale, TEveElement*, FWProxyBuilderBase*, bool invert = false);
0044
0045 void energyTower3DCorners(const float* corners, float scale, std::vector<float>&, bool reflect = false);
0046 void drawEnergyTower3D(const float* corners, float scale, TEveElement*, FWProxyBuilderBase*, bool reflect = false);
0047
0048
0049 void etScaledBox3DCorners(
0050 const float* corners, float energy, float maxEnergy, std::vector<float>& scaledCorners, bool reflect = false);
0051 void drawEtScaledBox3D(
0052 const float* corners, float energy, float maxEnergy, TEveElement*, FWProxyBuilderBase*, bool reflect = false);
0053
0054 void etTower3DCorners(const float* corners, float scale, std::vector<float>&, bool reflect = false);
0055 void drawEtTower3D(const float* corners, float scale, TEveElement*, FWProxyBuilderBase*, bool reflect = false);
0056 }
0057
0058 #endif