FairRoot/PandaRoot
PndDrcDigiPar.cxx
Go to the documentation of this file.
1 //* $Id: */
2 
3 // -------------------------------------------------------------------------
4 // ----- PndDrcDigiPar source file -----
5 // ----- Created 09/11/2010 by M. Patsyuk -----
6 // -------------------------------------------------------------------------
7 
17 #include <iostream>
18 #include "PndDrcDigiPar.h"
19 #include "PndDetectorList.h"
20 
21 using std::cout;
22 using std::endl;
23 using std::flush;
24 //using std::map;
25 using std::pair;
26 
27 PndDrcDigiPar::PndDrcDigiPar(const char* name, const char* title, const char* context)
28  : FairParGenericSet(name,title,context)
29 {
30  clear();
31 }
32 // -------------------------------------------------------------------------
33 
34 
35 
36 // ----- Destructor ----------------------------------------------------
38 
39 }
40 // -------------------------------------------------------------------------
41 
42 
43 void PndDrcDigiPar::putParams(FairParamList* list)
44 {
45  if(!list) return;
46  list->add("parameters", fDrcParameters);
47  list->add("NumberOfHitPixels",fNOfHitPixels);
48  list->add("NumberOfAmbiguities",fNOfAmbiguities);
49  list->add("NumberOfParametersPerPixel",fNOfParametersPerPixel);
50 }
51 
52 Bool_t PndDrcDigiPar::getParams(FairParamList* list)
53 {
54  if (!list) {std::cout<<"list not found"<<std::endl; return kFALSE;}
55  if(!list->fill("parameters",&fDrcParameters))
56  {std::cout<<"par: fPndParameters not found"<<std::endl; return kFALSE;}
57  if(!list->fill("NumberOfHitPixels",&fNOfHitPixels))
58  {std::cout<<"par: NumberOfHitPixels not found"<<std::endl; return kFALSE;}
59  if(!list->fill("NumberOfAmbiguities",&fNOfAmbiguities))
60  {std::cout<<"par: NumberOfAmbiguities not found"<<std::endl; return kFALSE;}
61  if(!list->fill("NumberOfParametersPerPixel",&fNOfParametersPerPixel))
62  {std::cout<<"par: NumberOfParametersPerPixel not found"<<std::endl; return kFALSE;}
63 
64  return kTRUE;
65 }
66 /*
67 Bool_t PndDrcDigiPar::GetParamsForPixel(Double_t xp, Double_t yp, Double_t* parArray)
68 {
69  Int_t a = 0;
70  for(Int_t i=0; i<fNOfHitPixels; i++){
71  if(fabs(fDrcParameters.At(i*(fNOfParametersPerPixel+2)) - xp) < 0.0005 &&
72  fabs(fDrcParameters.At(i*(fNOfParametersPerPixel+2)+1) - yp) < 0.0005){
73  a = 1;
74  for(Int_t j=0; j<fNOfParametersPerPixel; j++){
75  parArray[j] = fDrcParameters.At(i*(fNOfParametersPerPixel+2)+j+2);
76  //cout<<"PPar "<<j<<" = "<<fDrcParameters.At(i*(fNOfParametersPerPixel+2)+j+2)<<endl;
77  }
78  }
79  }
80  if (a == 1 && !TMath::IsNaN(parArray[1])) return true;
81  else return false;
82 }
83 */
85 {
86  Int_t a = 0;
87  for(Int_t i=0; i<fNOfHitPixels; i++){
88  if(fDrcParameters.At(i*(fNOfParametersPerPixel+1)) == pixid){
89  a = 1;
90  for(Int_t j=0; j<fNOfParametersPerPixel; j++){
91  parArray[j] = fDrcParameters.At(i*(fNOfParametersPerPixel+1)+j+1);
92  //cout<<"PPar "<<j<<" = "<<fDrcParameters.At(i*(fNOfParametersPerPixel+1)+j+1)<<endl;
93  }
94  }
95  }
96  if (a == 1 && !TMath::IsNaN(parArray[1])) return true;
97  else return false;
98 }
99 
101 
103 {
104  Int_t arrayIndex = 0;
105  cout << "-------------------------------------------------" << endl;
106  cout<<"DIRC barrel PD Parameters:"<<endl;
107  while ( arrayIndex < fDrcParameters.GetSize() ) {
108  cout << fDrcParameters[arrayIndex] << " " << endl;
109  }
110  cout << "-------------------------------------------------" << endl;
111 }
Int_t fNOfParametersPerPixel
Definition: PndDrcDigiPar.h:54
Int_t i
Definition: run_full.C:25
Bool_t GetParamsForPixel(Int_t, Double_t *)
void putParams(FairParamList *list)
TArrayD fDrcParameters
Definition: PndDrcDigiPar.h:51
Int_t a
Definition: anaLmdDigi.C:126
Bool_t getParams(FairParamList *list)
Double_t
Int_t fNOfHitPixels
Definition: PndDrcDigiPar.h:52
void clear(void)
Definition: PndDrcDigiPar.h:36
PndDrcDigiPar(const char *name="PndDrcParTest", const char *title="PndDrc digi parameter", const char *context="TestDefaultContext")
TString name
Digitization Parameter Class for DIRC barrel part.
Definition: PndDrcDigiPar.h:29
ClassImp(PndAnaContFact)
Int_t fNOfAmbiguities
Definition: PndDrcDigiPar.h:53