/[PAMELA software]/PamelaDigitizer/DigitizeAC.cxx
ViewVC logotype

Diff of /PamelaDigitizer/DigitizeAC.cxx

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by pamelats, Wed May 21 09:50:38 2008 UTC revision 1.2 by pamelats, Sun Jun 8 06:33:44 2008 UTC
# Line 29  Line 29 
29  #include "GLTables.h"  #include "GLTables.h"
30    
31    
32  void Digitizer::DigitizeAC() {  void Digitizer::DigitizeAC(TF1 *attenAC) {
33    // created:  J. Conrad, KTH    // created:  J. Conrad, KTH
34    // modified: S. Orsi, INFN Roma2    // modified: S. Orsi, INFN Roma2
35    // fDataAC[0-63]:   main AC board    // fDataAC[0-63]:   main AC board
# Line 38  void Digitizer::DigitizeAC() { Line 38  void Digitizer::DigitizeAC() {
38    // We activate all branches. Once the digitization algorithm is determined    // We activate all branches. Once the digitization algorithm is determined
39    // only the branches that involve needed information will be activated    // only the branches that involve needed information will be activated
40        
 //   fhBookTree->SetBranchStatus("Ievnt",&Ievnt);//modified by E.Vannuccini 03/08  
 //   fhBookTree->SetBranchStatus("Nthcat",1);  
 //   fhBookTree->SetBranchStatus("Iparcat",1);  
 //   fhBookTree->SetBranchStatus("Icat",1);  
 //   fhBookTree->SetBranchStatus("Xincat",1);  
 //   fhBookTree->SetBranchStatus("Yincat",1);  
 //   fhBookTree->SetBranchStatus("Zincat",1);  
 //   fhBookTree->SetBranchStatus("Xoutcat",1);  
 //   fhBookTree->SetBranchStatus("Youtcat",1);  
 //   fhBookTree->SetBranchStatus("Zoutcat",1);  
 //   fhBookTree->SetBranchStatus("Erelcat",1);  
 //   fhBookTree->SetBranchStatus("Timecat",1);  
 //   fhBookTree->SetBranchStatus("Pathcat",1);  
 //   fhBookTree->SetBranchStatus("P0cat",1);  
 //   fhBookTree->SetBranchStatus("Nthcas",1);  
 //   fhBookTree->SetBranchStatus("Iparcas",1);  
 //   fhBookTree->SetBranchStatus("Icas",1);  
 //   fhBookTree->SetBranchStatus("Xincas",1);  
 //   fhBookTree->SetBranchStatus("Yincas",1);  
 //   fhBookTree->SetBranchStatus("Zincas",1);  
 //   fhBookTree->SetBranchStatus("Xoutcas",1);  
 //   fhBookTree->SetBranchStatus("Youtcas",1);  
 //   fhBookTree->SetBranchStatus("Zoutcas",1);  
 //   fhBookTree->SetBranchStatus("Erelcas",1);  
 //   fhBookTree->SetBranchStatus("Timecas",1);  
 //   fhBookTree->SetBranchStatus("Pathcas",1);  
 //   fhBookTree->SetBranchStatus("P0cas",1);  
 //   fhBookTree->SetBranchStatus("Nthcard",1);  
 //   fhBookTree->SetBranchStatus("Iparcard",1);  
 //   fhBookTree->SetBranchStatus("Icard",1);  
 //   fhBookTree->SetBranchStatus("Xincard",1);  
 //   fhBookTree->SetBranchStatus("Yincard",1);  
 //   fhBookTree->SetBranchStatus("Zincard",1);  
 //   fhBookTree->SetBranchStatus("Xoutcard",1);  
 //   fhBookTree->SetBranchStatus("Youtcard",1);  
 //   fhBookTree->SetBranchStatus("Zoutcard",1);  
 //   fhBookTree->SetBranchStatus("Erelcard",1);  
 //   fhBookTree->SetBranchStatus("Timecard",1);  
 //   fhBookTree->SetBranchStatus("Pathcard",1);  
 //   fhBookTree->SetBranchStatus("P0card",1);  
   
41    fDataAC[0] = 0xACAC;    fDataAC[0] = 0xACAC;
42    fDataAC[64]= 0xACAC;    fDataAC[64]= 0xACAC;
43    fDataAC[1] = 0xAC11;      fDataAC[1] = 0xAC11;  
# Line 116  void Digitizer::DigitizeAC() { Line 75  void Digitizer::DigitizeAC() {
75      fDataAC[i+90] = evntLSB;      fDataAC[i+90] = evntLSB;
76    };    };
77        
   // coincidences are dummy (increment by 1 at each event)  
   // for (UInt_t i=0; i<=7; i++){  
   //    fDataAC[i+42] = 0x0000;  
   //    fDataAC[i+106] = 0x0000;  
   //   }  
78    for (UInt_t i=0; i<=7; i++){    for (UInt_t i=0; i<=7; i++){
79      fDataAC[i+42] = evntLSB;      fDataAC[i+42] = evntLSB;
80      fDataAC[i+106] = evntLSB;      fDataAC[i+106] = evntLSB;
# Line 132  void Digitizer::DigitizeAC() { Line 86  void Digitizer::DigitizeAC() {
86    fDataAC[114] = 0x0000;    fDataAC[114] = 0x0000;
87    
88    // dummy FPGA clock (increment by 1 at each event)    // dummy FPGA clock (increment by 1 at each event)
   /*      
     fDataAC[51] = 0x006C;  
     fDataAC[52] = 0x6C6C;  
     fDataAC[115] = 0x006C;  
     fDataAC[116] = 0x6C6C;  
   */  
89    if (Ievnt<=0xFFFF) {    if (Ievnt<=0xFFFF) {
90      fDataAC[51] = 0x0000;      fDataAC[51] = 0x0000;
91      fDataAC[52] = Ievnt;      fDataAC[52] = Ievnt;
# Line 192  void Digitizer::DigitizeAC() { Line 140  void Digitizer::DigitizeAC() {
140    //   9.81177e+00   +- 1.21284e+00    //   9.81177e+00   +- 1.21284e+00
141    // hp: 1 minimum ionising particle at 35cm from the PMT releases 1mip    // hp: 1 minimum ionising particle at 35cm from the PMT releases 1mip
142    
143    TF1 *attenAC = new TF1("fAttAC",".825+.64*atan(9.8/x)",0.,45.);    //TF1 *attenAC = new TF1("fAttAC",".825+.64*atan(9.8/x)",0.,45.);
144    
145    // PMT positions: x,y,z: (average position of the 2 PMTs)    // PMT positions: x,y,z: (average position of the 2 PMTs)
146    Float_t posCasPmt[4][3]={{28.308, -17.168, 63.644},    // 1 - CAS CPU: x,y,z    Float_t posCasPmt[4][3]={{28.308, -17.168, 63.644},    // 1 - CAS CPU: x,y,z
# Line 215  void Digitizer::DigitizeAC() { Line 163  void Digitizer::DigitizeAC() {
163        dAC=sqrt(pow((Xincas[k]+Xoutcas[k])/2 - posCasPmt[Icas[k]-1][0],2) + pow((Yincas[k]+Youtcas[k])/2 - posCasPmt[Icas[k]-1][1],2) + pow((Zincas[k]+Zoutcas[k])/2 - posCasPmt[Icas[k]-1][2],2));        dAC=sqrt(pow((Xincas[k]+Xoutcas[k])/2 - posCasPmt[Icas[k]-1][0],2) + pow((Yincas[k]+Youtcas[k])/2 - posCasPmt[Icas[k]-1][1],2) + pow((Zincas[k]+Zoutcas[k])/2 - posCasPmt[Icas[k]-1][2],2));
164        SumEcas[Icas[k]] += Erelcas[k]*attenAC->Eval(dAC);        SumEcas[Icas[k]] += Erelcas[k]*attenAC->Eval(dAC);
165      }      }
166    };     };
167     // attenAC->Delete();  
168    // look in CARD    // look in CARD
169    for (Int_t k= 0;k<Nthcard;k++){    for (Int_t k= 0;k<Nthcard;k++){
170      if (Erelcard[k] >0)      if (Erelcard[k] >0)

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.23