Initial check-in of the model classes
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Model / AliFemtoModelGausLCMSFreezeOutGenerator.h
1 ////////////////////////////////////////////////////////////////////////////////
2 ///                                                                          ///
3 /// AliFemtoModelGausLCMSFreezeOutGenerator - freeze-out                     ///
4 /// coordinates generator, generating a 3D gaussian ellipsoid in LCMS        ///
5 /// Authors: Adam Kisiel kisiel@mps.ohio-state.edu                           ///
6 ///                                                                          ///
7 ////////////////////////////////////////////////////////////////////////////////
8 #ifndef AliFemtoModelGausLCMSFreezeOutGenerator_hh
9 #define AliFemtoModelGausLCMSFreezeOutGenerator_hh
10
11 #include "Model/AliFemtoModelFreezeOutGenerator.h"
12
13 #include "TRandom.h"
14
15 class AliFemtoModelGausLCMSFreezeOutGenerator : public AliFemtoModelFreezeOutGenerator
16 {
17  public:
18   AliFemtoModelGausLCMSFreezeOutGenerator();
19   AliFemtoModelGausLCMSFreezeOutGenerator(const AliFemtoModelGausLCMSFreezeOutGenerator &aModel);
20   virtual ~AliFemtoModelGausLCMSFreezeOutGenerator();
21   virtual void GenerateFreezeOut(AliFemtoPair *aPair);;
22
23   void SetSizeOut(Double_t aSizeOut);
24   void SetSizeSide(Double_t aSizeSide);
25   void SetSizeLong(Double_t aSizeLong);
26   
27   Double_t GetSizeOut() const;
28   Double_t GetSizeSide() const;
29   Double_t GetSizeLong() const;
30
31   virtual AliFemtoModelFreezeOutGenerator* Clone() const;
32
33  protected:
34   Double_t fSizeOut;
35   Double_t fSizeSide;
36   Double_t fSizeLong;
37
38  private:
39   AliFemtoModelFreezeOutGenerator* GetGenerator() const;
40                 
41 #ifdef __ROOT__
42   ClassDef(AliFemtoModelGausLCMSFreezeOutGenerator, 1)
43 #endif
44
45     };
46   
47 #endif
48
49