Changing madia cuts to avoid too large EM showers in the beam pipe (Andreas)
[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   Float_t DeuteronFraction();
28   
29   // Setting parameters
30   virtual void SetImpactParameter(Float_t b) {fB=b;};
31   
32   // Getting parameters
33   Int_t GetFragmentNum() {return fNimf;};
34   
35  
36 protected:
37   
38    Float_t  fB;          // Impact parameter
39    Float_t  fZbAverage ; // Mean value of Z bound 
40    Int_t    fNimf;       // Number of IMF
41    Float_t  fZmax;       // Mean value of maximum Z of fragment
42    Float_t  fTau;        // Exponent of charge distribution: dN/dZ = Z*exp(-fTau)
43    Int_t    fZZ[100];    // Array of atomic numbers of fragments
44    Int_t    fNN[100];    // Array of number of neutrons of fragments
45    Int_t    fNalpha;     // Number of alpha particles
46    Int_t    fZtot;       // Total number of bound protons
47    Int_t    fNtot;       // Total number of bound neutrons
48
49   
50    ClassDef(AliZDCFragment,1)  // Generator for AliZDC fragment class
51 };
52
53 #endif