1 #ifndef __KVMATERIALSTACK_H
2 #define __KVMATERIALSTACK_H
5 #include "KVDetector.h"
#define ClassDef(name, id)
Base class for KaliVeda framework.
A stack of materials in which successive energy losses of charged particles can be calculated ,...
Double_t GetIncidentEnergyFromERes(Int_t Z, Int_t A, Double_t Eres)
std::vector< KVMaterial > fAbsorbers
TF1 & GetEResFunction(Int_t Z, Int_t A)
Double_t GetEIncOfMaxDeltaE(Int_t Z, Int_t A)
Double_t GetERes(Int_t Z, Int_t A, Double_t Einc)
Double_t EResDet(Double_t *x, Double_t *par)
TF1 & GetELossFunction(Int_t Z, Int_t A)
TF1 & GetMaxELossFunction(Int_t Z, Int_t A)
Double_t GetMinimumIncidentAngleForDEMax(Int_t Z, Int_t A, Double_t Emax)
Double_t ELossActive(Double_t *x, Double_t *par)
Double_t GetIncidentEnergy(Int_t Z, Int_t A, Double_t delta_e, enum KVMaterial::SolType type=KVMaterial::SolType::kEmax)
std::vector< double > fLayThick
KVMaterialStack()=default
Double_t MaxELossActive(Double_t *x, Double_t *par)
void SetIncidenceAngle(double psi)
const KVDetector * fDetector
Double_t GetMaxDeltaE(Int_t Z, Int_t A)
Int_t fActiveLayer
layer thicknesses in cm
virtual Double_t GetX(Double_t y, Double_t xmin=0, Double_t xmax=0, Double_t epsilon=1.E-10, Int_t maxiter=100, Bool_t logx=false) const
virtual Double_t GetMaximum(Double_t xmin=0, Double_t xmax=0, Double_t epsilon=1.E-10, Int_t maxiter=100, Bool_t logx=false) const
virtual Double_t GetMaximumX(Double_t xmin=0, Double_t xmax=0, Double_t epsilon=1.E-10, Int_t maxiter=100, Bool_t logx=false) const
constexpr Double_t DegToRad()