c861cc8ad2f1f5a03eea27301ba512a00358318a
[u/mrichter/AliRoot.git] / STEER / AliVMC.h
1 #ifndef ALIVMC_H
2 #define ALIVMC_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///////////////////////////////////////////////////////////////////////////////
9 //                                                                           //
10 //                                                                           //
11 //    Generic interface to MC for AliRoot                                    //
12 //                                                                           //
13 //                                                                           //
14 ///////////////////////////////////////////////////////////////////////////////
15
16 #include <TNamed.h>
17
18 class AliVMC : public TNamed 
19 {
20
21 private:
22   static AliVMC* fgVMC;
23
24 public:
25   AliVMC(const char *name, const char *title);
26   AliVMC();
27   virtual ~AliVMC() {}
28   //Generic access functions
29   static inline AliVMC* GetVMC() {return fgVMC;}
30   //Generic Alice MonteCarlo Functions
31   virtual void FinishGeometry() = 0;
32   virtual void BuildPhysics() = 0;
33   virtual void ProcessEvent() = 0;
34
35   //
36   ClassDef(AliVMC,1) //Generic MonteCarlo Class
37
38 };
39
40 R__EXTERN AliVMC *gVMC;
41
42 #endif
43