Updated ZDC geometry
[u/mrichter/AliRoot.git] / ZDC / AliZDCFragment.h
1 #ifndef ALIZDCFRAGMENT_H
2 #define ALIZDCFRAGMENT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 ////////////////////////////////////////////////////
8 //                                                //  
9 //     Generate nuclear fragments parametrizing   //
10 //       resuslts of SIS and SPS energies         //
11 //                                                //
12 ////////////////////////////////////////////////////
13
14
15 #include <TMath.h>
16
17 extern int comp(const void *, const void *);
18  
19 class AliZDCFragment : public TNamed {
20
21 public:
22   AliZDCFragment();
23   AliZDCFragment(Float_t b);
24   virtual      ~AliZDCFragment() {}
25   void GenerateIMF(Int_t* fZZ, Int_t &fNalpha);
26   void AttachNeutrons(Int_t* fZZ, Int_t* fNN, Int_t &Ztot, Int_t &Ntot);
27   
28   // Setting parameters
29   virtual void SetImpactParameter(Float_t b) {fB=b;};
30   
31   // Getting parameters
32   Int_t GetFragmentNum() {return fNimf;};
33   
34  
35 protected:
36   
37    Float_t  fB;          // Impact parameter
38    Float_t  fZbAverage ; // Mean value of Z bound 
39    Int_t    fNimf;       // Number of IMF
40    Float_t  fZmax;       // Mean value of maximum Z of fragment
41    Float_t  fTau;        // Exponent of charge distribution: dN/dZ = Z*exp(-fTau)
42    Int_t    fZZ[100];    // Array of atomic numbers of fragments
43    Int_t    fNN[100];    // Array of number of neutrons of fragments
44    Int_t    fNalpha;     // Number of alpha particles
45    Int_t    fZtot;       // Total number of bound protons
46    Int_t    fNtot;       // Total number of bound neutrons
47
48   
49    ClassDef(AliZDCFragment,1)  // Generator for AliZDC fragment class
50 };
51
52 #endif