| 26 |
// convertex to lower case |
// convertex to lower case |
| 27 |
// |
// |
| 28 |
// MODIFICATIONS: |
// MODIFICATIONS: |
|
// |
|
|
// v. 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 |
// |
// |
| 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 |
| 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"); |
| 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 |
|
|