1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 //////////////////////////////////////////////////////////////////////////
22 // Main program used to create aliroot application. //
25 // To be able to communicate between the FORTRAN code of GEANT and the //
26 // ROOT data structure, a number of interface routines have been //
30 <img src="picts/newg.gif">
33 //////////////////////////////////////////////////////////////////////////
35 //Standard Root includes
40 #include "Riostream.h"
41 #include "ARVersion.h"
52 //On linux Fortran wants this, so we give to it!
58 extern "C" void g95_runtime_start();
62 extern "C" int __fastflag=0;
63 extern "C" int _pctype=0;
64 extern "C" int __mb_cur_max=0;
72 //_____________________________________________________________________________
73 int main(int argc, char **argv)
76 // gAlice main program.
77 // It creates the main Geant3 and AliRun objects.
79 // The Hits are written out after each track in a ROOT Tree structure TreeH,
80 // of the file galice.root. There is one such tree per event. The kinematics
81 // of all the particles that produce hits, together with their genealogy up
82 // to the primary tracks is stared in the galice.root file in an other tree
83 // TreeK of which exists one per event. Finally the information of the events
84 // in the run is stored in the same file in the tree TreeE, containing the
85 // run and event number, the number of vertices, tracks and primary tracks
88 for ( int i = 1; i < argc; ++i )
90 TString argument(argv[i]);
92 if (argument=="--version")
94 cout << "aliroot " << ALIROOT_REVISION << " " << ALIROOT_BRANCH << endl;
99 // Create new configuration
101 new AliRun("gAlice","The ALICE Off-line Simulation Framework");
102 AliLog::GetRootLogger(); // force AliLog to initialize at start time
103 // Start interactive geant
105 TRint *theApp = new TRint("aliroot", &argc, argv);
110 // --- Start the event loop ---
111 // run.Info("Start AliRoot");
114 } catch(const exception &e){
115 cerr << "Excception catched" << e.what() << endl;
116 AliLog::Message(0, "Exception catched", "ROOT", NULL, "Exception catched", NULL, 0);