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.101 |
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 "../interface/glut.h" |
18 |
< |
#else |
15 |
< |
#define _CRT_SECURE_NO_DEPRECATE 1 |
17 |
> |
#include "Includes/GLUT/glut.h" |
18 |
> |
#else |
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 |
+ |
#pragma comment (lib,"Includes/CURL/Lib/libcurl.lib") |
30 |
|
#endif |
31 |
|
|
32 |
+ |
bool SCREENSAVER = false; |
33 |
+ |
|
34 |
+ |
#include <time.h> |
35 |
+ |
time_t start; |
36 |
+ |
time_t end; |
37 |
+ |
|
38 |
|
#include <stdio.h> |
39 |
|
#include <math.h> |
40 |
|
|
41 |
< |
#include "../interface/SimEvent.h" |
42 |
< |
#include "../interface/Geometry.h" |
43 |
< |
|
44 |
< |
#include "DrawPrimitive.h" |
45 |
< |
#include "ScreenShot.h" |
46 |
< |
#include "Logo.h" |
47 |
< |
#include "Texture.h" |
48 |
< |
#include "ReadCards.h" |
49 |
< |
#include "FROG_Struct.h" |
41 |
> |
#include "Includes/FROG/FROG_Objects.h" |
42 |
> |
#include "Includes/FROG/FROG_Events.h" |
43 |
> |
#include "Includes/FROG/FROG_Geometry.h" |
44 |
> |
|
45 |
> |
#include "Includes/FROG/FROG_Fonts.h" |
46 |
> |
#include "Includes/FROG/FROG_Element_Tools.h" |
47 |
> |
|
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 |
|
int SAVE_WINDOW_W = 800; |
63 |
|
int SAVE_WINDOW_H = 600; |
64 |
|
int SAVE_WINDOW_X = 10; |
65 |
|
int SAVE_WINDOW_Y = 10; |
66 |
|
|
45 |
– |
bool FULLSCREEN = false; |
46 |
– |
int WINDOW_WIDTH = 800; |
47 |
– |
int WINDOW_HEIGHT = 600; |
48 |
– |
int SCREENSHOT = 0; |
67 |
|
|
68 |
< |
int TEMP_I = 0; |
68 |
> |
bool FULLSCREEN = false; |
69 |
> |
int WINDOW_WIDTH = 800; |
70 |
> |
int WINDOW_HEIGHT = 600; |
71 |
> |
int SCREENSHOT = 0; |
72 |
> |
char SCREENSHOT_FORMAT[255] = {"png"}; |
73 |
|
|
52 |
– |
float CAM_R = 700; |
53 |
– |
float CAM_tx = 0.0; |
54 |
– |
float CAM_ty = 0.0; |
55 |
– |
|
56 |
– |
int CMS_TRACKER_RADIUS = 129; |
57 |
– |
int CMS_TRACKER_LENGTH = 300; |
58 |
– |
|
59 |
– |
int TRACKING_RADIUS = 129;//295; |
60 |
– |
int TRACKING_LENGTH = 300;//645; |
61 |
– |
|
62 |
– |
float PT_CUTOFF = 1.0; |
63 |
– |
double EECAL_CUTOFF[3] = {0.2,0.6,0.0001}; |
64 |
– |
double EHCAL_CUTOFF[4] = {1.5,1.5,0.5,5.0}; |
74 |
|
|
66 |
– |
bool MouseStates[3]; |
75 |
|
|
76 |
< |
std::vector<GLuint> theSimTracks; |
77 |
< |
GLuint theGeomMuon[3]; |
70 |
< |
GLuint theGeomMuonInEvent; |
71 |
< |
GLuint theGeomTracker[6]; |
72 |
< |
GLuint theGeomTrackerInEvent; |
73 |
< |
GLuint theGeomEcal[3]; |
74 |
< |
GLuint theGeomEcalInEvent; |
75 |
< |
GLuint theGeomHcal[4]; |
76 |
< |
GLuint theGeomHcalInEvent; |
76 |
> |
int TEMP_I = 0; |
77 |
> |
bool MouseStates[3]; |
78 |
|
|
79 |
|
GLuint LogoTexture; |
80 |
< |
|
80 |
< |
double t = 0; |
80 |
> |
GLuint LogoTxtTexture; |
81 |
|
|
82 |
|
std::string inputVisFile; |
83 |
< |
std::string inputTrackerGeom; |
84 |
< |
std::string inputEcalGeom; |
85 |
< |
std::string inputHcalGeom; |
86 |
< |
std::string inputMuonGeom; |
87 |
< |
|
88 |
< |
MySimEvent* event; |
89 |
< |
MySimEvents* events; |
90 |
< |
|
91 |
< |
Geometry* geom; |
92 |
< |
|
93 |
< |
char gTracker = 0; |
94 |
< |
char gEcal = 0; |
95 |
< |
char gHcal = 0; |
96 |
< |
char gMuon = 0; |
97 |
< |
char gSim = 2; |
83 |
> |
std::string inputVisFileFromCard; |
84 |
> |
std::vector<std::string> inputGeom; |
85 |
> |
|
86 |
> |
// MultiThreading Variables |
87 |
> |
#ifdef linux |
88 |
> |
pthread_t Thread_H; |
89 |
> |
#else |
90 |
> |
HANDLE Thread_H = NULL; |
91 |
> |
DWORD Thread_Id = 0; |
92 |
> |
#endif |
93 |
> |
bool Thread_Run = false; |
94 |
> |
|
95 |
> |
float SelectedObject_color[4] = {1,1,1,1}; |
96 |
> |
int SelectedObject_Counter = 0; |
97 |
> |
bool SelectedObject_DrawFlag = true; |
98 |
> |
|
99 |
> |
|
100 |
> |
int updateVisFileTime = -1; |
101 |
> |
|
102 |
> |
FROG_Events* events; |
103 |
> |
FROG_Element_Event* event; |
104 |
> |
|
105 |
> |
FROG_Geometry* geom; |
106 |
> |
|
107 |
> |
char gSim = 0; |
108 |
|
char gReco = 15; |
109 |
|
|
110 |
< |
int mTrackI = -1; |
110 |
> |
unsigned int mCLicked_DetId = (unsigned int) -1; |
111 |
> |
bool mDisplayMother = false; |
112 |
|
bool mLoading = true; |
113 |
|
int mLoading_I = 0; |
114 |
+ |
bool mEventChanging = true; |
115 |
+ |
|
116 |
+ |
unsigned int mAutomaticShooter_LastEvent = 0; |
117 |
+ |
bool mAutomaticShooter = false; |
118 |
+ |
|
119 |
|
|
120 |
|
int eventNumber = 0; |
121 |
+ |
int eventTime = 5; |
122 |
|
|
123 |
|
bool mHelpScreen= false; |
107 |
– |
bool mRotate = true; |
108 |
– |
float mDt = 0.005f; |
124 |
|
|
125 |
+ |
bool stateChanged = false; |
126 |
|
|
127 |
< |
GLint Menu_Geom_Tracker = 0; |
128 |
< |
GLint Menu_Geom_Ecal = 0; |
129 |
< |
GLint Menu_Geom_Hcal = 0; |
130 |
< |
GLint Menu_Geom_Muon = 0; |
131 |
< |
GLint Menu_Geom = 0; |
132 |
< |
GLint Menu_SimEvent = 0; |
133 |
< |
GLint Menu_RecoEvent = 0; |
134 |
< |
GLint Menu_Main = 0; |
119 |
< |
|
120 |
< |
WidthAndColor WaC_BackGround = {1.0 , 0.0 , 1.0 , 0.0 , 1.0}; |
121 |
< |
WidthAndColor WaC_Txt = {1.0 , 0.0 , 1.0 , 1.0 , 1.0}; |
122 |
< |
WidthAndColor WaC_CMS_Framework = {1.0 , 1.0 , 0.5 , 1.0 , 0.3}; |
123 |
< |
WidthAndColor WaC_LHC_Axis = {3.0 , 1.0 , 0.5 , 1.0 , 0.3}; |
124 |
< |
WidthAndColor WaC_Default_SimTrack = {2.0 , 0.0 , 1.0 , 1.0 , 1.0}; |
125 |
< |
WidthAndColor WaC_Selected_SimTrack = {2.0 , 1.0 , 1.0 , 0.0 , 1.0}; |
127 |
> |
bool print_FrameWork = false; |
128 |
> |
|
129 |
> |
float BackGround_Color[4] = {0.0 , 0.0 , 0.0 , 1.0}; |
130 |
> |
float Txt_Color[4] = {0.0 , 1.0 , 1.0 , 1.0}; |
131 |
> |
float Framework_Color[4] = {1.0 , 0.5 , 1.0 , 0.3}; |
132 |
> |
float Framework_Thickness = 1.0; |
133 |
> |
float ZAxis_Color[4] = {1.0 , 0.5 , 1.0 , 0.3}; |
134 |
> |
float ZAxis_Thickness = 3; |
135 |
|
|
127 |
– |
void DrawTrack(MySimTrack* track, MySimVertex* vertex1, MySimVertex* vertex2); |
136 |
|
void reshape (int w, int h); |
137 |
|
void display(); |
138 |
< |
void initGeomMuon(); |
139 |
< |
void initGeomMuonInEvent(); |
140 |
< |
void initGeomTracker(); |
141 |
< |
void initGeomTrackerInEvent(); |
134 |
< |
void initGeomEcal(); |
135 |
< |
void initGeomEcalInEvent(); |
136 |
< |
void initGeomHcal(); |
137 |
< |
void initGeomHcalInEvent(); |
138 |
< |
|
139 |
< |
void initSimTrack(); |
140 |
< |
void init(); |
141 |
< |
void menu_callback(int value); |
142 |
< |
void menu_create(); |
138 |
> |
void display2(); |
139 |
> |
void displayForScreenShot(); |
140 |
> |
void displaytext(); |
141 |
> |
|
142 |
|
void LoadCard(const char* inputCard ); |
143 |
+ |
void gl_select(int x, int y); |
144 |
+ |
void list_hits(GLint hits, GLuint *names); |
145 |
+ |
|
146 |
+ |
void AutomaticEventChanging (int Extra); |
147 |
+ |
|
148 |
+ |
|
149 |
+ |
void updateEventsFile(); |
150 |
+ |
|
151 |
|
|
152 |
|
#endif |
153 |
|
|