// --------------------------------------------------------------------- // ----- Target source file ----- // ----- Created 10/11/13 by J. Lukasik ----- // ----- Jerzy.Lukasik@ifj.edu.pl ----- // --------------------------------------------------------------------- /** Target * @author J. Lukasik * @since 10/11/13 * **/ #ifndef __TARGET_CLASS__ #define __TARGET_CLASS__ #include "TObject.h" #include "Rtypes.h" #include "TClass.h" #include "TRandom3.h" #include #include #include #include // Target vs run number for the ASY-EOS experiment // class Target : public TObject{ public: struct DataStruct{ char Name[20]; char Material[20]; //used by R-E tables Double_t A; //atomic mass Double_t Thickness; //[um] Double_t Density; //[g/cm3] Double_t Diameter; //[mm] Double_t Weight; //[mg] }; DataStruct dat[6]; //No Symbol thck [um] dens [g/cm3] diam [mm] mass[mg] //dat[0] EMPTY 0 0.0 0 0.0 //dat[1] Au1 250 19.32 42 6691.7 //dat[2] Au2 500 19.32 42 13383.4 //dat[3] Ru 355 12.41 9 280.5 //dat[4] ZrO2 1056 5.68 10 470.9 //dat[5] H3BO3 1159 1.851 10 168.5 Target(); virtual ~Target(); void Printf(); Int_t No(Int_t run); char *Name(Int_t run){return dat[No(run)].Name;} char *Material(Int_t run){return dat[No(run)].Material;} Double_t A(Int_t run){return dat[No(run)].A;} Double_t Thickness(Int_t run){return dat[No(run)].Thickness;} Double_t Density(Int_t run){return dat[No(run)].Density;} Double_t Diameter(Int_t run){return dat[No(run)].Diameter;} Double_t Weight(Int_t run){return dat[No(run)].Weight;} void SetName(Int_t it, char *ch){sprintf(dat[it].Name,ch,"%s");} void SetMaterial(Int_t it, char *ch){sprintf(dat[it].Material,ch,"%s");} void SetA(Int_t it,Double_t x){dat[it].A=x;} void SetThickness(Int_t it,Double_t x){dat[it].Thickness=x;} void SetDensity(Int_t it,Double_t x) {dat[it].Density=x;} void SetDiameter(Int_t it,Double_t x) {dat[it].Diameter=x;} void SetWeight(Int_t it,Double_t x) {dat[it].Weight=x;} ClassDef(Target,1) //Target }; #endif