#ifndef HENERGYLOSSCORRPAR_H
#define HENERGYLOSSCORRPAR_H

#include "hparcond.h"

class HEnergyLossCorrPar : public HParCond {
protected:
// for protons
  Int_t   nThetaReg;            // number of theta regions 
  Float_t thetaStep;            // size of one theta region, degrees
  Float_t thetaMiddle0;         // middle of first theta region, degrees
  Float_t momInt1;              // end of first momentum interval, MeV
  Float_t momInt2;              // end of second momentum interval, MeV
  Int_t   nParamsProt;          // number of parameters for one theta region
  Float_t parMomCorrProt[70];   // parameters. Size=nThetaReg*nParamsProt

//for electrons  
  Int_t   nParamsElect;         // number of parameters
  Float_t parMomCorrElect[5];   // parameters
  
public:
  HEnergyLossCorrPar(const Char_t* name    = "EnergyLossCorrPar",
                     const Char_t* title   = "Energy losses correction parameters",
                     const Char_t* context = "EnergyLossCorrProduction");
  ~HEnergyLossCorrPar(void) {}
  
  Bool_t  init(HParIo*,Int_t* set=0);
  Int_t   write(HParIo*);
  void    clear(void);
  void    putParams(HParamList*);
  Bool_t  getParams(HParamList*);

  Bool_t  setParamProt(Int_t nTh,Int_t nParPr,Float_t thM0,Float_t thSt,Float_t* parPr,Float_t mInt1,Float_t mInt2);
  Bool_t  setParamElect(Int_t nParEl,Float_t* parEl);
  Bool_t  setDefaultPar(const Char_t *rn="jan04");
  Float_t getDeltaMom(Int_t pId, Float_t mom, Float_t theta); // units: MeV for mom, degrees for theta
  Float_t getCorrMom(Int_t pId, Float_t mom, Float_t theta) {
    return mom+getDeltaMom(pId,mom,theta);}

  ClassDef(HEnergyLossCorrPar,1) // Parameter container for energy loss correction
};

#endif  /*!HENERGYLOSSCORRPAR_H */










Last change: Sat May 22 12:55:01 2010
Last generated: 2010-05-22 12:55

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.