FEDRA emulsion software from the OPERA Collaboration
eda.cpp File Reference
#include <stdlib.h>
#include <string>
#include <EdbEDA.h>
#include <EdbLog.h>
Include dependency graph for eda.cpp:

Functions

int main (int argc, char *argv[])
 
void print_usage ()
 

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)
29 {
30
31 char lnkdef[50]="lnk.def";
32 char datatype = 100;
33 char rcut[200] = "1";
34
35 int sbrun = -1;
36 int sfrun = -1;
37 int ibrick = 0;
38 int use_microtrack = 0;
39 int dovertex = 0;
40 int drawtrack = 1;
41 char listfile[256] = "";
42 char textfile[256] = "";
43
44 for(int i=0;i<argc;i++){
45 std::string s(argv[i]);
46 cout << s << endl;
47 if(!s.find("-h")) {print_usage(); return 0;}
48 if(!s.find("-l")&&s.find("-lst")==string::npos) sprintf(lnkdef,argv[++i]);
49 if(!s.find("-d")) datatype = atoi(argv[++i]);
50 if(!s.find("-c")) sprintf(rcut,argv[++i]);
51 if(!s.find("-b")) ibrick = atoi(argv[++i]);
52 if(!s.find("-sb")) sbrun = atoi(argv[++i]);
53 if(!s.find("-sf")) sfrun = atoi(argv[++i]);
54 if(!s.find("-sbm")||!s.find("-sbm")) use_microtrack = 1;
55 if(!s.find("-v")) dovertex=1;
56 if(!s.find("-n")) drawtrack=0;
57 if(!s.find("-lst")) sprintf(listfile,argv[++i]);
58 if(!s.find("-t")) sprintf(textfile,argv[++i]);
59 if(!s.find("-f")) sprintf(lnkdef,argv[++i]);
60 }
61
62 int argc2=1;
63 char *argv2[]={"-l"};
64 TRint app("EDA",&argc2, argv2);
65
66 if(gSystem->AccessPathName(lnkdef, kReadPermission)) {
67 Log(1,"\neda","ERROR: can not open input file: %s !!!\n",lnkdef);
69 return 0;
70 }
71 EdbEDA *EDA=new EdbEDA(lnkdef,datatype,rcut);
72
73 if(dovertex) EDA->GetTrackSet("TS")->DoVertexing(NULL,3);
74 EDA->GetTrackSet("TS")->SetDraw(drawtrack);
75 if(strlen(listfile)>1) EDA->GetTrackSet("TS")->ReadListFile(listfile);
76
77 EDA->SetBrick(ibrick);
78 if(sbrun>0) EDA->GetTrackSet("SB")->ReadPredictionScan(ibrick, 1,sbrun, use_microtrack);
79 if(sfrun>0) EDA->GetTrackSet("SF")->ReadPredictionScan(ibrick, 1,sfrun, use_microtrack);
80
81 if(strlen(textfile)>1) EDA->GetTrackSet("MN")->ReadTextTracks(textfile);
82
83
84 EDA->Run();
85
86 app.Run();
87 return 0;
88}
bool Log(int level, const char *location, const char *fmt,...)
Definition: EdbLog.cxx:75
void DoVertexing(EdbVertexRec *VR=NULL, int ntrkcut=3)
Definition: EdbEDATrackSet.C:561
void ReadPredictionScan(int BRICK, int SBVERSION, int RUN_PRED, int UseMicrotrack=0)
Definition: EdbEDATrackSet.C:777
void ReadListFile(char *filename=NULL, bool clear_previous=kTRUE)
Definition: EdbEDATrackSet.C:1052
void SetDraw(bool b=kTRUE)
Definition: EdbEDATrackSet.h:583
void ReadTextTracks(char *filename=NULL)
Definition: EdbEDATrackSet.C:918
Definition: EdbEDA.h:479
EdbEDATrackSet * GetTrackSet(int i)
Definition: EdbEDA.h:617
void Run()
Definition: EdbEDA.C:1989
void SetBrick(int ibrick)
Definition: EdbEDA.h:666
void print_usage()
Definition: eda.cpp:6
s
Definition: check_shower.C:55
#define NULL
Definition: nidaqmx.h:84

◆ print_usage()

void print_usage ( )
6 {
7 printf("Usage : eda.exe [-option] (value)\n");
8 printf(
9 " opt value\n"
10 " -f filename Read file (any).\n"
11 " -l filename Set Link def filename\n"
12 " -d datatype Set datatype for InitVolume\n"
13 " 0:cp, 10:cpfull, 100:tracks, 100: tracks+cp\n"
14 " -c selection Set cut for InitVolume\n"
15 " -b ibrick Set Brick ID\n"
16 " -sb sbrun Read ScanBack tracks\n"
17 " -sbm sbrun Read ScanBack, using microtrack\n"
18 " -sf sfrun Read ScanForth tracks\n"
19 " -sfm sfrun Read ScanForth, using microtrack\n"
20 " -v Do Vertexing\n"
21 " -n Show nothing in initial view.\n"
22 " -lst filename Read Track List file.\n"
23 " -t filename Read Text track.\n"
24 " need space between option and value\n");
25
26}