FairRoot/PandaRoot
PndEmcDigiNonuniformityPar.cxx
Go to the documentation of this file.
1 // PndEmcDigiNonuniformityPar
3 //
4 // Container class for Digitisation parameters
5 // class is inherited from FairParGenericSet
6 //
8 
10 #include <iostream>
11 
13 
15  std::vector<Double_t> parvec;
16  parvec.assign(pars,pars+3);
17  fNonUniPars[crystaltype]=parvec;
18 }
19 
21  if(fNonUniPars.find(crystaltype)!=fNonUniPars.end()){
22  pars[0]=fNonUniPars[crystaltype][0];
23  pars[1]=fNonUniPars[crystaltype][1];
24  pars[2]=fNonUniPars[crystaltype][2];
25  } else {
26  pars[0]=1;
27  pars[1]=0;
28  pars[2]=0;
29  }
30 }
31 
32 
34 
36  const char* context)
37  : FairParGenericSet(name,title,context), fParObject()
38 {
39  fParObject = NULL;
40 }
41 
43 // if(pars != NULL){
44 // pars[0]=1/0.89497;
45 // pars[1]=-0.01582/0.89497;
46 // pars[2]=3.9881e-4/0.89497;
47 // }
48 //
49  Int_t crystaltype; //= 6;
50  Int_t Module = DetId/100000000;
51  Int_t Row;
52  switch(Module){
53  case 1:
54  case 2:
55  Row = (DetId/1000000)%100;
56  crystaltype = (Row-1)/4+1;
57  //calculate based on row number;
58  break;
59  case 3:
60  crystaltype = 12; //fwendcap
61  break;
62  case 4:
63  crystaltype = 13; //bwendcap
64  break;
65  case 5:
66  crystaltype = 0; //shashlyk
67  break;
68  case 7:
69  crystaltype = 6; //Proto60
70  break;
71  default:
72  crystaltype = 0;
73  }
74 
75  if(fParObject !=0){
76  fParObject->GetNonuniformity(crystaltype,pars);
77  } else {
78  pars[0]=1;
79  pars[1]=0;
80  pars[2]=0;
81  }
82 
83 }
84 
85 void PndEmcDigiNonuniformityPar::putParams(FairParamList* list)
86 {
87  if(!list) return;
88  list->addObject("PndEmcDigiNonuniformity",fParObject);
89 }
90 
92 {
93  if (!list) return kFALSE;
94  if(!list->fillObject("PndEmcDigiNonuniformity",fParObject)) return kFALSE;
95  return kTRUE;
96 }
97 
void GetNonuniformity(Int_t crystaltype, Double_t *pars)
void putParams(FairParamList *list)
std::map< Int_t, std::vector< Double_t > > fNonUniPars
Double_t
TString name
PndEmcDigiNonuniParObject * fParObject
ClassImp(PndAnaContFact)
Bool_t getParams(FairParamList *list)
void GetNonuniformityParameters(Int_t DetId, Double_t *pars)
void SetNonuniformity(Int_t crystaltype, Double_t *pars)