File indexing completed on 2023-03-17 10:41:29
0001 #ifndef MEEBDisplay_hh
0002 #define MEEBDisplay_hh
0003
0004
0005
0006
0007
0008 #include <list>
0009 #include <map>
0010
0011 #include "../../interface/MEEBGeom.h"
0012
0013 class MEEBDisplay
0014 {
0015
0016 public:
0017
0018 static MEEBGeom::EtaPhiPoint getNode( int iSM,
0019 MEEBGeom::EBTTLocalCoord iX,
0020 MEEBGeom::EBTTLocalCoord iY,
0021 int jx, int jy );
0022 static void drawEB();
0023 static void drawSM( int iSM, float shift=0 );
0024 static void drawTT( int iSM,
0025 MEEBGeom::EBTTLocalCoord iX,
0026 MEEBGeom::EBTTLocalCoord iY, float shift=0 );
0027 static void drawXtal( MEEBGeom::EBGlobalCoord ieta,
0028 MEEBGeom::EBGlobalCoord iphi,
0029 int color=kBlue, float shift=0 );
0030
0031 static void drawEBGlobal();
0032 static void drawEBLocal();
0033
0034 static TPolyLine* getXtalPolyLine( MEEBGeom::EBGlobalCoord ieta,
0035 MEEBGeom::EBGlobalCoord iphi,
0036 float shift=0 );
0037 static TPolyLine* getTTPolyLine( int iSM,
0038 MEEBGeom::EBTTLocalCoord iX,
0039 MEEBGeom::EBTTLocalCoord iY,
0040 float shift=0 );
0041 static TPolyLine* getSMPolyLine( int iSM, float shift=0 );
0042 static void drawRz();
0043 static int bkgColor;
0044 static int lineColor;
0045 static int lineWidth;
0046
0047 static void refresh();
0048
0049 virtual ~MEEBDisplay() {}
0050
0051 private:
0052
0053 static void setPhiLimits( int iSM,
0054 MEEBGeom::EBLocalCoord iy,
0055 MEEBGeom::EBGlobalCoord iphi,
0056 float phioverpi_0, float phioverpi_1 );
0057 static void setEtaLimits( int iSM,
0058 MEEBGeom::EBLocalCoord ix,
0059 MEEBGeom::EBGlobalCoord ieta,
0060 float eta_0, float eta_1 );
0061 static void setSM_2_and_20();
0062
0063 static std::map< int, std::pair<float,float> > _phiLimits;
0064 static std::map< int, std::pair<float,float> > _etaLimits;
0065
0066 static void setRzXtals();
0067 static std::map< int, TPolyLine* > _rzXtals;
0068
0069 static list<TObject*> _list;
0070 static void registerTObject( TObject* );
0071
0072 ClassDef(MEEBDisplay,0)
0073 };
0074
0075 #endif
0076