]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TFluka/TFlukaIon.h
updated documentation and minor modifications; added test macro for RCU raw ddl data...
[u/mrichter/AliRoot.git] / TFluka / TFlukaIon.h
1 #ifndef TFLUKAION_H
2 #define TFLUKAION_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 ///////////////////////////////////////////////////////////////////////////////
10 //                                                                           //
11 //                                                                           //
12 // Class that gives access to properties of ions used as primary particles   //
13 //                                                                           //
14 //                                                                           //
15 //                                                                           //
16 ///////////////////////////////////////////////////////////////////////////////
17
18
19 #include <TNamed.h>
20
21 class TFlukaIon : public TNamed
22 {
23
24 public:
25     TFlukaIon();
26     TFlukaIon(const char* name, Int_t z, Int_t a, Int_t q, Double_t exE, Double_t mass = 0.);
27     Int_t    GetZ()                const  {return fZ;}
28     Int_t    GetA()                const  {return fA;}
29
30     Int_t    GetQ()                const  {return fQ;}
31     Double_t GetExcitationEnergy() const  {return fExEnergy;}
32     Double_t GetMass()             const  {return fMass;}
33     Int_t    GetPdgCode()          const  {return GetIonPdg(fZ, fA);}
34     //
35     static void     WriteUserInputCard(FILE* file);
36     //
37     static void  AddIon(Int_t a, Int_t z);
38     static void  AddIon(const char* name, Int_t z, Int_t a, Int_t q,
39                         Double_t exE, Double_t mass);
40     static Int_t GetIonPdg(Int_t z, Int_t a, Int_t i = 0);
41     static Int_t GetZ(Int_t pdg);
42     static Int_t GetA(Int_t pdg);
43     static Int_t GetIsomerNumber(Int_t pdg);
44
45  protected:
46     Int_t    fZ;         // Z
47     Int_t    fA;         // A
48     Int_t    fQ;         // Q
49     Double_t fExEnergy;  // Excitation energy
50     Double_t fMass;      // Mass
51  private:
52     // Copy constructor and operator= declared but not implemented (-Weff++ flag)
53     TFlukaIon(const TFlukaIon&);
54     TFlukaIon& operator=(const TFlukaIon&);
55     
56     ClassDef(TFlukaIon, 1)          // Ion Properties
57 };
58         
59 #endif
60