Initial check-in of the model classes
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Model / AliFemtoModelFreezeOutGenerator.h
1 ////////////////////////////////////////////////////////////////////////////////
2 ///                                                                          ///
3 /// AliFemtoModelFreezeOutGenerator - abstract base class for freeze-out     ///
4 /// coordinates generator                                                    ///
5 /// Authors: Adam Kisiel kisiel@mps.ohio-state.edu                           ///
6 ///                                                                          ///
7 ////////////////////////////////////////////////////////////////////////////////
8 #ifndef AliFemtoModelFreezeOutGenerator_hh
9 #define AliFemtoModelFreezeOutGenerator_hh
10
11 #include "TRandom2.h"
12 #include "AliFemtoPair.h"
13
14 class AliFemtoModelFreezeOutGenerator 
15 {
16  public:
17   AliFemtoModelFreezeOutGenerator();
18   AliFemtoModelFreezeOutGenerator(AliFemtoModelFreezeOutGenerator &aModel);
19   
20   AliFemtoModelFreezeOutGenerator& operator=(const AliFemtoModelFreezeOutGenerator& aGen);
21   
22   virtual ~AliFemtoModelFreezeOutGenerator();
23   virtual void GenerateFreezeOut(AliFemtoPair *aPair) = 0;
24   
25   virtual AliFemtoModelFreezeOutGenerator* Clone() const;
26   
27  protected:
28   TRandom2 *fRandom;
29   
30  private:
31   
32 #ifdef __ROOT__
33   ClassDef(AliFemtoModelFreezeOutGenerator, 1)
34 #endif
35     
36 };
37
38 inline AliFemtoModelFreezeOutGenerator::AliFemtoModelFreezeOutGenerator(): fRandom(0) { /* no-op */ };
39 inline AliFemtoModelFreezeOutGenerator::AliFemtoModelFreezeOutGenerator(AliFemtoModelFreezeOutGenerator &aModel): fRandom(0){/* no-op */};
40 inline AliFemtoModelFreezeOutGenerator& AliFemtoModelFreezeOutGenerator::operator=(const AliFemtoModelFreezeOutGenerator& aGen) 
41
42   if (this == &aGen) return *this; 
43   if (aGen.fRandom) 
44     fRandom = new TRandom2(*aGen.fRandom);
45   else 
46     fRandom=0; 
47   return *this; 
48 };
49
50 inline AliFemtoModelFreezeOutGenerator::AliFemtoModelFreezeOutGenerator* Clone() { return 0; };
51
52
53 #endif
54
55