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.05 |
10 |
+ |
#define FROG_AUTHORLIST "Loic.Quertenmont@uclouvain.be\nVincent.Roberfroid@uclouvain.be" |
11 |
|
|
12 |
|
#ifdef linux |
13 |
|
#include <GL/gl.h> |
14 |
|
#include <GL/glu.h> |
15 |
< |
#include "../interface/glut.h" |
16 |
< |
#include <ext/hash_map> |
17 |
< |
using namespace __gnu_cxx; |
16 |
< |
typedef hash_map<unsigned int, char*, hash<unsigned int>, equal_to<unsigned int> > HASH_Map; |
17 |
< |
#else |
18 |
< |
#define _CRT_SECURE_NO_DEPRECATE 1 |
19 |
< |
#include <windows.h> |
15 |
> |
#include "Includes/GLUT/glut.h" |
16 |
> |
#else |
17 |
> |
#include <windows.h> |
18 |
|
#include <gl/gl.h> |
19 |
|
#include <gl/glu.h> |
20 |
|
#include <gl/glut.h> |
23 |
|
#pragma comment (lib,"opengl32.lib") |
24 |
|
#pragma comment (lib,"glut.lib") |
25 |
|
#pragma comment (lib,"glut32.lib") |
26 |
< |
#include <hash_map> |
29 |
< |
using namespace stdext; |
30 |
< |
typedef hash_map<unsigned int, char*, hash_compare<unsigned int, std::less<unsigned int> > > HASH_Map; |
26 |
> |
#pragma comment (lib,"Includes/CURL/Lib/libcurl.lib") |
27 |
|
#endif |
28 |
|
|
29 |
< |
HASH_Map test; |
29 |
> |
bool SCREENSAVER = false; |
30 |
|
|
31 |
|
#include <time.h> |
32 |
|
time_t start; |
35 |
|
#include <stdio.h> |
36 |
|
#include <math.h> |
37 |
|
|
38 |
< |
#include "../interface/SimEvent.h" |
39 |
< |
#include "../interface/Geometry.h" |
38 |
> |
#include "Includes/FROG/FROG_Objects.h" |
39 |
> |
#include "Includes/FROG/FROG_Events.h" |
40 |
> |
#include "Includes/FROG/FROG_Geometry.h" |
41 |
> |
|
42 |
> |
#include "Includes/FROG/FROG_Font.h" |
43 |
> |
#include "Includes/FROG/FROG_Element_Tools.h" |
44 |
> |
|
45 |
> |
#include "Includes/FROG/FROG_Logo.h" |
46 |
> |
#include "Includes/FROG/FROG_Texture.h" |
47 |
> |
#include "Includes/FROG/FROG_ReadCards.h" |
48 |
> |
#include "Includes/FROG/FROG_Camera.h" |
49 |
> |
#include "Includes/FROG/FROG_Net.h" |
50 |
> |
#include "Includes/FROG/FROG_Net_Tools.h" |
51 |
> |
#include "Includes/FROG/FROG_View_Tools.h" |
52 |
> |
|
53 |
> |
FROG_Font* frog_Font; |
54 |
> |
FROG_Font* frog_Font_10; |
55 |
> |
FROG_ReadCards* Card; |
56 |
> |
FROG_Objects_Extended* frogObjects_; |
57 |
> |
|
58 |
> |
std::vector<FROG_View*> ActiveViews; |
59 |
> |
FROG_View_Screen* ViewScreen; |
60 |
> |
FROG_View* ViewMain; |
61 |
> |
|
62 |
> |
unsigned int shadowMapTexture; |
63 |
|
|
45 |
– |
#include "DrawPrimitive.h" |
46 |
– |
#include "ScreenShot.h" |
47 |
– |
#include "Logo.h" |
48 |
– |
#include "Texture.h" |
49 |
– |
#include "ReadCards.h" |
50 |
– |
#include "FROG_Struct.h" |
51 |
– |
#include "ObjectInfo.h" |
64 |
|
|
65 |
|
int SAVE_WINDOW_W = 800; |
66 |
|
int SAVE_WINDOW_H = 600; |
67 |
|
int SAVE_WINDOW_X = 10; |
68 |
|
int SAVE_WINDOW_Y = 10; |
69 |
|
|
58 |
– |
bool FULLSCREEN = false; |
59 |
– |
int WINDOW_WIDTH = 800; |
60 |
– |
int WINDOW_HEIGHT = 600; |
61 |
– |
int SCREENSHOT = 0; |
70 |
|
|
63 |
– |
int TEMP_I = 0; |
71 |
|
|
65 |
– |
float CAM_R = 700; |
66 |
– |
float CAM_tx = 0.0; |
67 |
– |
float CAM_ty = 0.0; |
68 |
– |
|
69 |
– |
int CMS_TRACKER_RADIUS = 129; |
70 |
– |
int CMS_TRACKER_LENGTH = 300; |
71 |
– |
|
72 |
– |
int TRACKING_RADIUS = 129;//295; |
73 |
– |
int TRACKING_LENGTH = 300;//645; |
74 |
– |
|
75 |
– |
float PT_CUTOFF = 1.0; |
76 |
– |
double EECAL_CUTOFF[3] = {0.2,0.6,0.0001}; |
77 |
– |
double EHCAL_CUTOFF[4] = {1.5,1.5,0.5,5.0}; |
72 |
|
|
73 |
< |
bool MouseStates[3]; |
73 |
> |
bool FULLSCREEN = false; |
74 |
> |
int WINDOW_WIDTH = 800; |
75 |
> |
int WINDOW_HEIGHT = 600; |
76 |
> |
int SCREENSHOT = 0; |
77 |
> |
char SCREENSHOT_FORMAT[255] = {"png"}; |
78 |
|
|
79 |
< |
std::vector<GLuint> theSimTracks; |
80 |
< |
GLuint theGeomMuon[3]; |
83 |
< |
GLuint theGeomMuonInEvent; |
84 |
< |
GLuint theGeomTracker[6]; |
85 |
< |
GLuint theGeomTrackerInEvent; |
86 |
< |
GLuint theGeomEcal[3]; |
87 |
< |
GLuint theGeomEcalInEvent; |
88 |
< |
GLuint theGeomHcal[4]; |
89 |
< |
GLuint theGeomHcalInEvent; |
79 |
> |
int TEMP_I = 0; |
80 |
> |
bool MouseStates[3]; |
81 |
|
|
82 |
|
GLuint LogoTexture; |
83 |
< |
|
93 |
< |
double t = 0; |
83 |
> |
GLuint LogoTxtTexture; |
84 |
|
|
85 |
|
std::string inputVisFile; |
86 |
< |
std::string inputTrackerGeom; |
87 |
< |
std::string inputEcalGeom; |
88 |
< |
std::string inputHcalGeom; |
89 |
< |
std::string inputMuonGeom; |
90 |
< |
|
91 |
< |
MySimEvent* event; |
92 |
< |
MySimEvents* events; |
93 |
< |
|
94 |
< |
Geometry* geom; |
95 |
< |
|
96 |
< |
char gTracker = 0; |
97 |
< |
char gEcal = 0; |
98 |
< |
char gHcal = 0; |
99 |
< |
char gMuon = 0; |
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 |
> |
FROG_Element_Event* event; |
104 |
> |
|
105 |
> |
FROG_Geometry* geom; |
106 |
> |
|
107 |
|
char gSim = 0; |
108 |
|
char gReco = 15; |
109 |
|
|
110 |
< |
int mObj_I = -1; |
111 |
< |
int mColl_I = -1; |
110 |
> |
unsigned int mCLicked_DetId = (unsigned int) -1; |
111 |
> |
bool mDisplayMother = false; |
112 |
|
bool mLoading = true; |
113 |
|
int mLoading_I = 0; |
114 |
|
|
115 |
|
int eventNumber = 0; |
116 |
|
|
117 |
|
bool mHelpScreen= false; |
121 |
– |
bool mRotate = true; |
122 |
– |
float mDt = 0.005f; |
118 |
|
|
119 |
+ |
bool stateChanged = false; |
120 |
+ |
|
121 |
+ |
bool print_FrameWork = false; |
122 |
+ |
|
123 |
+ |
float BackGround_Color[4] = {0.0 , 0.0 , 0.0 , 1.0}; |
124 |
+ |
float Txt_Color[4] = {0.0 , 1.0 , 1.0 , 1.0}; |
125 |
+ |
float Framework_Color[4] = {1.0 , 0.5 , 1.0 , 0.3}; |
126 |
+ |
float Framework_Thickness = 1.0; |
127 |
+ |
float ZAxis_Color[4] = {1.0 , 0.5 , 1.0 , 0.3}; |
128 |
+ |
float ZAxis_Thickness = 3; |
129 |
|
|
125 |
– |
GLint Menu_Geom_Tracker = 0; |
126 |
– |
GLint Menu_Geom_Ecal = 0; |
127 |
– |
GLint Menu_Geom_Hcal = 0; |
128 |
– |
GLint Menu_Geom_Muon = 0; |
129 |
– |
GLint Menu_Geom = 0; |
130 |
– |
GLint Menu_SimEvent = 0; |
131 |
– |
GLint Menu_RecoEvent = 0; |
132 |
– |
GLint Menu_Main = 0; |
133 |
– |
|
134 |
– |
WidthAndColor WaC_BackGround = {1.0 , 0.0 , 1.0 , 0.0 , 1.0}; |
135 |
– |
WidthAndColor WaC_Txt = {1.0 , 0.0 , 1.0 , 1.0 , 1.0}; |
136 |
– |
WidthAndColor WaC_CMS_Framework = {1.0 , 1.0 , 0.5 , 1.0 , 0.3}; |
137 |
– |
WidthAndColor WaC_LHC_Axis = {3.0 , 1.0 , 0.5 , 1.0 , 0.3}; |
138 |
– |
WidthAndColor WaC_Default_SimTrack = {2.0 , 0.0 , 1.0 , 1.0 , 1.0}; |
139 |
– |
WidthAndColor WaC_Selected_SimTrack = {2.0 , 1.0 , 1.0 , 0.0 , 1.0}; |
130 |
|
|
141 |
– |
std::vector<IdAndWidthAndColor*> WaC_SimTracks; |
131 |
|
|
143 |
– |
void DrawTrack(MySimTrack* track, MySimVertex* vertex1, MySimVertex* vertex2); |
132 |
|
void reshape (int w, int h); |
133 |
|
void display(); |
134 |
< |
void initGeomMuon(); |
135 |
< |
void initGeomMuonInEvent(); |
136 |
< |
void initGeomTracker(); |
149 |
< |
void initGeomTrackerInEvent(); |
150 |
< |
void initGeomEcal(); |
151 |
< |
void initGeomEcalInEvent(); |
152 |
< |
void initGeomHcal(); |
153 |
< |
void initGeomHcalInEvent(); |
154 |
< |
void defineColorForSimTrack(int i); |
155 |
< |
|
156 |
< |
void initSimTrack(); |
157 |
< |
void init(); |
158 |
< |
void menu_callback(int value); |
159 |
< |
void menu_create(); |
134 |
> |
void display2(); |
135 |
> |
void displaytext(); |
136 |
> |
|
137 |
|
void LoadCard(const char* inputCard ); |
138 |
|
void gl_select(int x, int y); |
139 |
|
void list_hits(GLint hits, GLuint *names); |
140 |
|
|
141 |
|
|
142 |
+ |
void updateEventsFile(); |
143 |
+ |
|
144 |
+ |
|
145 |
|
#endif |
146 |
|
|