FairRoot/PandaRoot
PndEmcErrorMatrixPar.cxx
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 #include "PndEmcErrorMatrixPar.h"
17 #include <iostream>
18 #include "assert.h"
19 
21 
22 void PndEmcErrorMatrixParObject::SetErrorMatrix(Int_t detectorComponent, Double_t *pars){
23  std::vector<Double_t> parvec;
24  parvec.assign(pars,pars+10);
25  fErrorMatrixPars[detectorComponent]=parvec;
26 }
27 
28 void PndEmcErrorMatrixParObject::GetErrorMatrix(Int_t detectorComponent, Double_t *pars){
29  pars[0]=fErrorMatrixPars[detectorComponent][0];
30  pars[1]=fErrorMatrixPars[detectorComponent][1];
31  pars[2]=fErrorMatrixPars[detectorComponent][2];
32  pars[3]=fErrorMatrixPars[detectorComponent][3];
33  pars[4]=fErrorMatrixPars[detectorComponent][4];
34  pars[5]=fErrorMatrixPars[detectorComponent][5];
35  pars[6]=fErrorMatrixPars[detectorComponent][6];
36  pars[7]=fErrorMatrixPars[detectorComponent][7];
37  pars[8]=fErrorMatrixPars[detectorComponent][8];
38  pars[9]=fErrorMatrixPars[detectorComponent][9];
39 }
40 
41 
43 
44 PndEmcErrorMatrixPar::PndEmcErrorMatrixPar(const char* name,const char* title,
45  const char* context)
46  : FairParGenericSet(name,title,context), fParObject(new PndEmcErrorMatrixParObject())
47 {
48  fParObject = NULL;
49 }
51 {
52  if (fParObject == NULL) return false;
53 
54  return true;
55 }
56 
57 void PndEmcErrorMatrixPar::GetErrorMatrixParameters(Int_t detectorComponent, Double_t *pars){
58 
59  if(fParObject !=0){
60  fParObject->GetErrorMatrix(detectorComponent,pars);
61  } else {
62  std::cout<<"Wrong detector component in PndEmcErrorMatrixPar"<<std::endl;
63  abort();
64  }
65 
66 }
67 
68 void PndEmcErrorMatrixPar::putParams(FairParamList* list)
69 {
70  if(!list) return;
71  list->addObject("PndEmcErrorMatrix",fParObject);
72 }
73 
75 {
76  if (!list) return kFALSE;
77  if(!list->fillObject("PndEmcErrorMatrix",fParObject)) return kFALSE;
78  return kTRUE;
79 }
void GetErrorMatrix(Int_t detectorComponent, Double_t *pars)
Container class for EMC error matrix parameter class is inherited from FairParGenericSet.
std::map< Int_t, std::vector< Double_t > > fErrorMatrixPars
Double_t
Bool_t getParams(FairParamList *list)
TString name
void putParams(FairParamList *list)
ClassImp(PndAnaContFact)
void GetErrorMatrixParameters(Int_t detectorComponent, Double_t *pars)
PndEmcErrorMatrixParObject * fParObject
void SetErrorMatrix(Int_t detectorComponent, Double_t *pars)