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

Diff of /PamelaDigitizer/Pamelagp2Digits.cxx

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

revision 1.7 by silvio, Wed Nov 28 18:54:31 2007 UTC revision 1.10 by pamelats, Fri Jun 6 15:16:08 2008 UTC
# Line 26  Line 26 
26  //                convertex to lower case  //                convertex to lower case
27  //  //
28  //  MODIFICATIONS:  //  MODIFICATIONS:
 //  
 //  rev. 1.7 (S.Orsi, Roma2, 28 November 2007)  
 //  - TOF: + mapping S21 corrected (WM)  
 //         + time resolution increased to 425ps (WM)  
 //         + new scale factors (WM)  
 //         + various corrections  
 //  - file README removed (usage and install information are present in the file HOW-TO-DIGIT.TXT)  
 //  - Makefile: option "install" added  
 //  
 //  rev. 1.6 (S.Orsi, Roma2, 31 October 2007)  
 //  - TOF: (Campana, Menn, Orsi)  
 //         + bugs fixed  
 //         + crc included  
 //         + introduction of 3 control bits in the ADC and TDC words before writing fDataTof  
 //         + channel map corrected (correspondence between PMT# and TDC channel)  
 //         + new conversion pC to ADC  
 //         + scaling factors to tune MC data to real ones  
 //  - HOW-TO-DIGIT.TXT file updated (E.Vannuccini)  
 //  
29  //  v. 1.5 (S.Orsi, Roma2, 11 October 2007)  //  v. 1.5 (S.Orsi, Roma2, 11 October 2007)
30  //  - file HOW-TO-DIGIT.TXT written (mainly by S.Bottai): contains information on how to run the chain from the DB creation to DarthVader through Digitizer, yoda and YodaProfiler  //  - file HOW-TO-DIGIT.TXT written (mainly by S.Bottai): contains information on how to run the chain from the DB creation to DarthVader through Digitizer, yoda and YodaProfiler
31  //  //
32  //  v. 1.4 (S.Orsi, Roma2, 11 October 2007)  //  v. 1.4 (S.Orsi, Roma2, 11 October 2007)
33  //  - similar to v. 1.3    //  - similar to v. 1.3
34  //  //
35  //  v. 1.3 (S.Orsi, Roma2, 11 October 2007)  //  v. 1.3 (S.Orsi, Roma2, 11 October 2007)
36  //  - TOF: + changes and major corrections in ADC and TDC (W.Menn, D.Campana, S.Orsi)  //  - TOF: + changes and major corrections in ADC and TDC (W.Menn, D.Campana, S.Orsi)
# Line 97  Line 78 
78  #include "TMath.h"  #include "TMath.h"
79  #include "Digitizer.h"  #include "Digitizer.h"
80    
81    using namespace std;
82    
83  int Error;   //to be removed soon  int Error;   //to be removed soon
84    
85  //  Define the names of the Fortran common blocks for the different OSs  //  Define the names of the Fortran common blocks for the different OSs
# Line 294  Int_t golower  = 1; Line 277  Int_t golower  = 1;
277  Int_t bufsize  = 64000;  Int_t bufsize  = 64000;
278  Int_t optcwn = 1;  Int_t optcwn = 1;
279    
280    char *DigitizerInfo(bool print);
281    
282  int main(int argc, char **argv)  int main(int argc, char **argv)
283    
284  {  {
285      char* cha=DigitizerInfo(1);
286    
287    if (argc < 2) {    if (argc < 2) {
288       printf("Error: Pamelagp2Digits \n");       printf("Error: Pamelagp2Digits \n");
289       printf("Pamelagp2Digits file.hbook file.root file.pam [compress] [tolower] [lrecl] [bufsize] [optcwn] \n");       printf("Pamelagp2Digits file.hbook file.root file.pam [compress] [tolower] [lrecl] [bufsize] [optcwn] \n");
# Line 834  void convert_directory(const char *dir, Line 820  void convert_directory(const char *dir,
820    
821    tree->Write();    tree->Write();
822    
823    std::cout << "Invoking Digitizer" << endl << flush;    cout << "Invoking Digitizer" << endl << flush;
824      char *ndl[8],*q,*q1;
825      q=(char*)malloc(5 *sizeof(char));
826      q1=(char*)malloc(5 *sizeof(char));
827      ndl[0]="nspe";
828      ndl[1]="ntof";
829      ndl[2]="ncat";
830      ndl[3]="ncas";
831      ndl[4]="ncar";
832      ndl[5]="ncal";
833      ndl[6]="nndd";
834      ndl[7]="nstr";
835    
836      int nspe=200,ntof=200,ncat=50,ncas=50,ncar=100,ncal=1000,nnd=200,nstr=1000,par[8],tmp=0,t;
837      par[0]=nspe;
838      par[1]=ntof;
839      par[2]=ncat;
840      par[3]=ncas;
841      par[4]=ncar;
842      par[5]=ncal;
843      par[6]=nnd;
844      par[7]=nstr;
845    
846      ifstream np("vectpar.dat",ios::in);
847      if(!np)printf("ATTENTION: Using default vector legths!\n");
848      while(!np.eof()){
849        np>>q>>tmp;
850        if(np.eof())break;
851        if(tmp<=0){
852          cout<<"ATTENTION: Length of one vector is negative or equal 0!"<<endl<<q<<"="<<tmp<<endl;
853          break;
854        }
855        t=0;
856        while(tmp){
857          q1=ndl[t];
858          if(q[0]==q1[0] && q[1]==q1[1] && q[2]==q1[2] && q[3]==q1[3]){
859            par[t]=tmp;
860            tmp=0;
861            cout<<q<<" "<<par[t]<<"["<<t<<"]"<<endl;
862          }
863          t++;
864        }
865      }
866      nspe=par[0];
867      ntof=par[1];
868      ncat=par[2];
869      ncas=par[3];
870      ncar=par[4];
871      ncal=par[5];
872      nnd=par[6];
873      nstr=par[7];
874    
875    Digitizer* dig = new Digitizer(tree,file_raw);    Digitizer* dig = new Digitizer(tree,file_raw,nspe,ntof,ncat,ncas,ncar,ncal,nnd,nstr);
876    dig->Loop();    dig->Loop();
877    dig->Close();    dig->Close();
878    
879    std::cout << "Finished" << endl << flush;    cout << "Finished" << endl << flush;
880    
881  }  }
882    

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.23