HYDRA_development_version
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
henergylosscorrpar.h
Go to the documentation of this file.
1 #ifndef HENERGYLOSSCORRPAR_H
2 #define HENERGYLOSSCORRPAR_H
3 
4 #include "hparcond.h"
5 
6 class HEnergyLossCorrPar : public HParCond {
7 protected:
8 // for protons
9  Int_t nThetaReg; // number of theta regions
10  Double_t thetaStep; // size of one theta region, degrees
11  Double_t thetaMiddle0; // middle of first theta region, degrees
12  Double_t momInt1; // end of first momentum interval, MeV
13  Double_t momInt2; // end of second momentum interval, MeV
14  Int_t nParams; // number of parameters for one theta region
15  Double_t parMomCorrH[264]; // parameters. Size=nThetaReg*nParams
16  Short_t typePar; // type of parametrisation
17 
18 //for electrons
19  Int_t nParamsElect; // number of parameters
20  Double_t parMomCorrElect[13]; // parameters
21 
23 
24 public:
25  HEnergyLossCorrPar(const Char_t* name = "EnergyLossCorrPar",
26  const Char_t* title = "Energy losses correction parameters",
27  const Char_t* context = "EnergyLossCorrProduction");
30 
31  void clear(void);
32  void putParams(HParamList*);
33  Bool_t getParams(HParamList*);
34 
35  Bool_t setDefaultPar(TString run);
36  Double_t getDeltaMom(Int_t pId, Double_t mom, Double_t theta) const; // units: MeV for mom, degrees for theta
37  Double_t getCorrMom(Int_t pId, Double_t mom, Double_t theta) const {return mom+getDeltaMom(pId,mom,theta);}
38 
39 private:
40  void fillParMomCorrH(Int_t size,Double_t *par);
41  Double_t getDeltaMomT1(Int_t pId, Double_t mom, Double_t theta) const;
42  Double_t getDeltaMomT12(Int_t pId, Double_t mom, Double_t theta) const;
43  Double_t getDeltaMomT1419(Int_t pId, Double_t mom, Double_t theta) const;
44  Double_t binInter(Double_t b,Double_t rs, const Double_t *par) const;
45 
46  ClassDef(HEnergyLossCorrPar,1) // Parameter container for energy loss correction
47 };
48 
49 #endif /*!HENERGYLOSSCORRPAR_H */
50 
51 
52 
53 
54 
55 
56 
57 
58 
Double_t getDeltaMomT1(Int_t pId, Double_t mom, Double_t theta) const
Double_t parMomCorrElect[13]
Double_t parMomCorrH[264]
Double_t binInter(Double_t b, Double_t rs, const Double_t *par) const
Bool_t setDefaultPar(TString run)
Bool_t getParams(HParamList *)
Double_t getDeltaMomT1419(Int_t pId, Double_t mom, Double_t theta) const
Double_t theta
HEnergyLossCorrPar(const Char_t *name="EnergyLossCorrPar", const Char_t *title="Energy losses correction parameters", const Char_t *context="EnergyLossCorrProduction")
static HEnergyLossCorrPar * gEnergyLossCorrPar
Double_t getCorrMom(Int_t pId, Double_t mom, Double_t theta) const
static HEnergyLossCorrPar * getObject(void)
Double_t getDeltaMom(Int_t pId, Double_t mom, Double_t theta) const
Double_t getDeltaMomT12(Int_t pId, Double_t mom, Double_t theta) const
void fillParMomCorrH(Int_t size, Double_t *par)
void putParams(HParamList *)