PandaRoot
PndEmcErrorMatrixPar.h
Go to the documentation of this file.
1 // PndEmcErrorMatrixPar
3 //
4 // Container class for EMC error matrix parameter
5 // class is inherited from FairParGenericSet
6 //
7 // Parametrization of EMC error matrix
8 // functions used for parameterization
9 // Energy: Delta(E)/E = (a^2/E^power) + const^2 + (quadr/E)^2
10 // position: Delta(x)=(a*a/E^power) + const^2
11 // There are 10 parameters (engParA, engPower, engConst, engQuadr, pos1ParA, pos1Power,
12 // pos1Const, pos2ParA, pos2Power, pos2Const) for each component of EMC (barrel,
13 // fwd endcap, bwd endcap, shashlyk)
15 
16 //#pragma once
17 #ifndef PNDEMCERRORMATRIXPAR_H
18 #define PNDEMCERRORMATRIXPAR_H
19 
20 #include "FairParGenericSet.h"
21 #include "FairParamList.h"
22 #include <cstdlib>
23 #include <map>
24 #include <vector>
25 
38 class PndEmcErrorMatrixParObject : public TObject {
39  public:
40  void SetErrorMatrix(Int_t detectorComponent, Double_t *pars);
41  void GetErrorMatrix(Int_t detectorComponent, Double_t *pars);
42 
43  PndEmcErrorMatrixParObject() : fErrorMatrixPars() { fErrorMatrixPars.clear(); };
45 
46  private:
47  std::map<Int_t, std::vector<Double_t>> fErrorMatrixPars;
48  ClassDef(PndEmcErrorMatrixParObject, 1);
49 };
50 
51 class PndEmcErrorMatrixPar : public FairParGenericSet {
52  public:
53  void GetErrorMatrixParameters(Int_t detectorComponent, Double_t *pars);
54  void SetErrorMatrixObject(PndEmcErrorMatrixParObject *ParObject) { fParObject = ParObject; };
55  PndEmcErrorMatrixParObject *GetParObject() { return fParObject; };
56  PndEmcErrorMatrixPar(const char *name = "PndEmcErrorMatrixPar", const char *title = "Emc error matrix parameter", const char *context = "TestDefaultContext");
58 
59  Bool_t IsValid();
60 
61  void clear(void){};
62 
63  void putParams(FairParamList *list);
64  Bool_t getParams(FairParamList *list);
65 
66  private:
67  PndEmcErrorMatrixParObject *fParObject;
68  ClassDef(PndEmcErrorMatrixPar, 1);
69 
70  PndEmcErrorMatrixPar(const PndEmcErrorMatrixPar &L) : FairParGenericSet(L){};
71  PndEmcErrorMatrixPar &operator=(const PndEmcErrorMatrixPar &) { return *this; };
72 };
73 
74 #endif
void GetErrorMatrix(Int_t detectorComponent, Double_t *pars)
Container class for EMC error matrix parameter class is inherited from FairParGenericSet.
void SetErrorMatrixObject(PndEmcErrorMatrixParObject *ParObject)
PndEmcErrorMatrixParObject * GetParObject()
void SetErrorMatrix(Int_t detectorComponent, Double_t *pars)