Initial check-in of the model classes
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Model / AliFemtoModelFreezeOutGenerator.h
CommitLineData
75c432a7 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
14class 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
38inline AliFemtoModelFreezeOutGenerator::AliFemtoModelFreezeOutGenerator(): fRandom(0) { /* no-op */ };
39inline AliFemtoModelFreezeOutGenerator::AliFemtoModelFreezeOutGenerator(AliFemtoModelFreezeOutGenerator &aModel): fRandom(0){/* no-op */};
40inline 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
50inline AliFemtoModelFreezeOutGenerator::AliFemtoModelFreezeOutGenerator* Clone() { return 0; };
51
52
53#endif
54
55