fe4da5cc |
1 | ////////////////////////////////////////////////////////////////////////// |
2 | // // |
3 | // aliroot // |
4 | // // |
5 | // Main program used to create aliroot application. // |
6 | // // |
7 | // // |
8 | // To be able to communicate between the FORTRAN code of GEANT and the // |
9 | // ROOT data structure, a number of interface routines have been // |
10 | // developed. // |
11 | //Begin_Html |
12 | /* |
1439f98e |
13 | <img src="picts/newg.gif"> |
fe4da5cc |
14 | */ |
15 | //End_Html |
16 | ////////////////////////////////////////////////////////////////////////// |
17 | |
18 | //Standard Root includes |
19 | #include <TROOT.h> |
20 | #include <TRint.h> |
21 | #include <TFile.h> |
22 | #include <AliRun.h> |
23 | |
24 | #if defined __linux |
25 | //On linux Fortran wants this, so we give to it! |
26 | int xargv=0; |
27 | int xargc=0; |
28 | #endif |
29 | |
30 | #if defined WIN32 |
31 | extern "C" int __fastflag=0; |
32 | extern "C" int _pctype=0; |
33 | extern "C" int __mb_cur_max=0; |
34 | #endif |
35 | |
36 | int gcbank_[3000000]; |
37 | |
38 | //Initialise the Root environment |
39 | extern void InitGui(); |
40 | VoidFuncPtr_t initfuncs[] = { InitGui, 0 }; |
41 | TROOT root("galice","The Alice/ROOT Interface", initfuncs); |
42 | |
43 | //_____________________________________________________________________________ |
44 | int main(int argc, char **argv) |
45 | { |
46 | // |
47 | // gAlice main program. |
48 | // It creates the main Geant3 and AliRun objects. |
49 | // |
50 | // The Hits are written out after each track in a ROOT Tree structure TreeH, |
51 | // of the file galice.root. There is one such tree per event. The kinematics |
52 | // of all the particles that produce hits, together with their genealogy up |
53 | // to the primary tracks is stared in the galice.root file in an other tree |
54 | // TreeK of which exists one per event. Finally the information of the events |
55 | // in the run is stored in the same file in the tree TreeE, containing the |
56 | // run and event number, the number of vertices, tracks and primary tracks |
57 | // in the event. |
58 | // |
59 | new AliRun("gAlice"," The Alice Geant3-based MonteCarlo"); |
60 | |
61 | // Start interactive geant |
62 | |
63 | TRint *theApp = new TRint("aliroot", &argc, argv, 0, 0); |
64 | |
65 | // --- Initialisation of the GALICE package --- |
66 | theApp->Run(); |
67 | |
68 | // --- Simulation of all events --- |
69 | return(0); |
70 | } |
71 | |
72 | |