1 |
|
|
2 |
< |
// SimEvent.h: interface for the SimEvent class. |
2 |
> |
// main.h |
3 |
|
// |
4 |
|
////////////////////////////////////////////////////////////////////// |
5 |
|
|
6 |
|
#ifndef _MAIN_H__ |
7 |
|
#define _MAIN_H__ |
8 |
|
|
9 |
+ |
#define FROG_VERSION 1.10 |
10 |
+ |
#define FROG_AUTHORLIST "Loic.Quertenmont@cern.ch\nVincent.Roberfroid@cern.ch" |
11 |
+ |
|
12 |
+ |
#include "Includes/GL/glew.h" |
13 |
|
#ifdef linux |
14 |
+ |
#include "Includes/GL/glxew.h" |
15 |
|
#include <GL/gl.h> |
16 |
|
#include <GL/glu.h> |
17 |
< |
#include "Includes/GLUT/glut.h" |
13 |
< |
#include <ext/hash_map> |
14 |
< |
using namespace __gnu_cxx; |
15 |
< |
typedef hash_map<unsigned int, char*, hash<unsigned int>, equal_to<unsigned int> > HASH_Map; |
17 |
> |
#include "Includes/GLUT/glut.h" |
18 |
|
#else |
19 |
< |
#include <windows.h> |
19 |
> |
#include <windows.h> |
20 |
> |
#include "Includes/GL/wglew.h" |
21 |
|
#include <gl/gl.h> |
22 |
|
#include <gl/glu.h> |
23 |
< |
#include <gl/glut.h> |
23 |
> |
#include <gl/glut.h> |
24 |
|
#pragma comment (lib,"glaux.lib") |
25 |
|
#pragma comment (lib,"glu32.lib") |
26 |
|
#pragma comment (lib,"opengl32.lib") |
27 |
|
#pragma comment (lib,"glut.lib") |
28 |
|
#pragma comment (lib,"glut32.lib") |
29 |
< |
|
27 |
< |
#include <hash_map> |
28 |
< |
using namespace stdext; |
29 |
< |
typedef hash_map<unsigned int, char*, hash_compare<unsigned int, std::less<unsigned int> > > HASH_Map; |
29 |
> |
#pragma comment (lib,"Includes/CURL/Lib/libcurl.lib") |
30 |
|
#endif |
31 |
– |
|
31 |
|
|
32 |
< |
HASH_Map test; |
32 |
> |
bool SCREENSAVER = false; |
33 |
|
|
34 |
|
#include <time.h> |
35 |
|
time_t start; |
38 |
|
#include <stdio.h> |
39 |
|
#include <math.h> |
40 |
|
|
41 |
+ |
#include "Includes/FROG/FROG_Objects.h" |
42 |
|
#include "Includes/FROG/FROG_Events.h" |
43 |
|
#include "Includes/FROG/FROG_Geometry.h" |
44 |
– |
#include "Includes/FROG/FROG_DetId.h" |
44 |
|
|
45 |
+ |
#include "Includes/FROG/FROG_Fonts.h" |
46 |
|
#include "Includes/FROG/FROG_Element_Tools.h" |
47 |
|
|
48 |
< |
#include "Includes/FROG/Logo.h" |
49 |
< |
#include "Includes/FROG/Texture.h" |
50 |
< |
#include "Includes/FROG/ReadCards.h" |
51 |
< |
#include "Includes/FROG/FROG_Struct.h" |
52 |
< |
#include "Includes/FROG/FROG_Camera.h" |
53 |
< |
#include "Includes/FROG/ObjectInfo.h" |
48 |
> |
#include "Includes/FROG/FROG_Texture.h" |
49 |
> |
#include "Includes/FROG/FROG_ReadCards.h" |
50 |
> |
#include "Includes/FROG/FROG_Net_Tools.h" |
51 |
> |
#include "Includes/FROG/FROG_View_Tools.h" |
52 |
> |
|
53 |
> |
FROG_Fonts* Fonts; |
54 |
> |
FROG_ReadCards* Card; |
55 |
> |
FROG_Objects_Extended* frogObjects_; |
56 |
> |
|
57 |
> |
std::vector<FROG_View*> ActiveViews; |
58 |
> |
FROG_View_Screen* ViewScreen; |
59 |
> |
FROG_View* ViewMain; |
60 |
> |
FROG_View_Menu* ViewMenu; |
61 |
|
|
62 |
+ |
unsigned int shadowMapTexture; |
63 |
|
|
56 |
– |
FROG_Element_Base *prim2; |
64 |
|
|
65 |
|
int SAVE_WINDOW_W = 800; |
66 |
|
int SAVE_WINDOW_H = 600; |
72 |
|
int WINDOW_WIDTH = 800; |
73 |
|
int WINDOW_HEIGHT = 600; |
74 |
|
int SCREENSHOT = 0; |
75 |
< |
char* SCREENSHOT_FORMAT = new char[255]; |
69 |
< |
|
70 |
< |
int TEMP_I = 0; |
75 |
> |
char SCREENSHOT_FORMAT[255] = {"png"}; |
76 |
|
|
72 |
– |
FROG_Camera Cam; |
77 |
|
|
74 |
– |
int CMS_TRACKER_RADIUS = 129; |
75 |
– |
int CMS_TRACKER_LENGTH = 300; |
76 |
– |
|
77 |
– |
float PT_CUTOFF = 1.0; |
78 |
– |
double EECAL_CUTOFF[3] = {0.2,0.6,0.0001}; |
79 |
– |
double EHCAL_CUTOFF[4] = {1.5,1.5,0.5,5.0}; |
78 |
|
|
79 |
+ |
int TEMP_I = 0; |
80 |
|
bool MouseStates[3]; |
81 |
|
|
83 |
– |
std::vector<GLuint> theSimTracks; |
84 |
– |
|
85 |
– |
GLuint theGeomMuonInEvent; |
86 |
– |
GLuint theGeomTrackerInEvent; |
87 |
– |
GLuint theGeomEcalInEvent; |
88 |
– |
GLuint theGeomHcalInEvent; |
89 |
– |
GLuint theGeomFwdInEvent; |
82 |
|
GLuint LogoTexture; |
83 |
< |
GLuint MarkerTexture; |
92 |
< |
|
93 |
< |
double t = 0; |
83 |
> |
GLuint LogoTxtTexture; |
84 |
|
|
85 |
|
std::string inputVisFile; |
86 |
+ |
std::string inputVisFileFromCard; |
87 |
|
std::vector<std::string> inputGeom; |
88 |
|
|
89 |
+ |
// MultiThreading Variables |
90 |
+ |
#ifdef linux |
91 |
+ |
pthread_t Thread_H; |
92 |
+ |
#else |
93 |
+ |
HANDLE Thread_H = NULL; |
94 |
+ |
DWORD Thread_Id = 0; |
95 |
+ |
#endif |
96 |
+ |
bool Thread_Run = false; |
97 |
+ |
|
98 |
+ |
|
99 |
+ |
|
100 |
+ |
int updateVisFileTime = -1; |
101 |
+ |
|
102 |
|
FROG_Events* events; |
103 |
< |
const FROG_Event* event; |
103 |
> |
FROG_Element_Event* event; |
104 |
|
|
105 |
< |
Geometry* geom; |
105 |
> |
FROG_Geometry* geom; |
106 |
|
|
107 |
|
char gSim = 0; |
108 |
|
char gReco = 15; |
109 |
|
|
110 |
< |
unsigned int mCLicked_DetId = 0; |
110 |
> |
unsigned int mCLicked_DetId = (unsigned int) -1; |
111 |
|
bool mDisplayMother = false; |
108 |
– |
int mObj_I = -1; |
109 |
– |
int mColl_I = -1; |
112 |
|
bool mLoading = true; |
113 |
|
int mLoading_I = 0; |
114 |
+ |
bool mMenu = true; |
115 |
|
|
116 |
|
int eventNumber = 0; |
117 |
+ |
int eventTime = 5; |
118 |
|
|
119 |
|
bool mHelpScreen= false; |
116 |
– |
bool mRotate = true; |
117 |
– |
|
120 |
|
|
121 |
|
bool stateChanged = false; |
120 |
– |
float mDt = 0.005f; |
122 |
|
|
123 |
|
bool print_FrameWork = false; |
124 |
|
|
125 |
< |
GLint Menu_Geom = 0; |
126 |
< |
GLint Menu_SimEvent = 0; |
127 |
< |
GLint Menu_RecoEvent = 0; |
128 |
< |
GLint Menu_Main = 0; |
129 |
< |
|
130 |
< |
WidthAndColor WaC_BackGround = {1.0 , 0.0 , 1.0 , 0.0 , 1.0}; |
130 |
< |
WidthAndColor WaC_Txt = {1.0 , 0.0 , 1.0 , 1.0 , 1.0}; |
131 |
< |
WidthAndColor WaC_CMS_Framework = {1.0 , 1.0 , 0.5 , 1.0 , 0.3}; |
132 |
< |
WidthAndColor WaC_LHC_Axis = {3.0 , 1.0 , 0.5 , 1.0 , 0.3}; |
133 |
< |
WidthAndColor WaC_Default_SimTrack = {2.0 , 0.0 , 1.0 , 1.0 , 1.0}; |
134 |
< |
WidthAndColor WaC_Selected_Object = {2.0 , 1.0 , 1.0 , 0.0 , 1.0}; |
135 |
< |
|
136 |
< |
std::vector<IdAndWidthAndColor*> WaC_SimTracks; |
137 |
< |
std::vector<IdAndWidthAndColor*> WaC_RecoTracks; |
125 |
> |
float BackGround_Color[4] = {0.0 , 0.0 , 0.0 , 1.0}; |
126 |
> |
float Txt_Color[4] = {0.0 , 1.0 , 1.0 , 1.0}; |
127 |
> |
float Framework_Color[4] = {1.0 , 0.5 , 1.0 , 0.3}; |
128 |
> |
float Framework_Thickness = 1.0; |
129 |
> |
float ZAxis_Color[4] = {1.0 , 0.5 , 1.0 , 0.3}; |
130 |
> |
float ZAxis_Thickness = 3; |
131 |
|
|
139 |
– |
//void DrawTrack(MySimTrack* track, MySimVertex* vertex1, MySimVertex* vertex2); |
132 |
|
void reshape (int w, int h); |
133 |
|
void display(); |
134 |
+ |
void display2(); |
135 |
+ |
void displaytext(); |
136 |
|
|
143 |
– |
void initGeomTrackerInEvent(); |
144 |
– |
void initGeomMuonInEvent(); |
145 |
– |
void initGeomEcalInEvent(); |
146 |
– |
void initGeomHcalInEvent(); |
147 |
– |
void initGeomFwdInEvent(); |
148 |
– |
void defineColorForSimTrack(int i); |
149 |
– |
|
150 |
– |
void initSimTrack(); |
151 |
– |
void init(); |
152 |
– |
void menu_callback(int value); |
153 |
– |
void menu_create(); |
137 |
|
void LoadCard(const char* inputCard ); |
138 |
|
void gl_select(int x, int y); |
139 |
|
void list_hits(GLint hits, GLuint *names); |
140 |
|
|
141 |
+ |
void AutomaticEventChanging (int Extra); |
142 |
+ |
|
143 |
+ |
|
144 |
+ |
void updateEventsFile(); |
145 |
+ |
|
146 |
+ |
|
147 |
|
#endif |
148 |
|
|