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);
68  print_usage();
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 ReadListFile(const char *filename=NULL, bool clear_previous=kTRUE)
Definition: EdbEDATrackSet.C:1052
void DoVertexing(EdbVertexRec *VR=NULL, int ntrkcut=3)
Definition: EdbEDATrackSet.C:561
void ReadTextTracks(const char *filename=NULL)
Definition: EdbEDATrackSet.C:918
void ReadPredictionScan(int BRICK, int SBVERSION, int RUN_PRED, int UseMicrotrack=0)
Definition: EdbEDATrackSet.C:777
void SetDraw(bool b=kTRUE)
Definition: EdbEDATrackSet.h:583
Definition: EdbEDA.h:479
void Run()
Definition: EdbEDA.C:1988
void SetBrick(int ibrick)
Definition: EdbEDA.h:666
EdbEDATrackSet * GetTrackSet(int i)
Definition: EdbEDA.h:617
void print_usage()
Definition: eda.cpp:6
#define NULL
Definition: nidaqmx.h:84
EdbSegP * s
Definition: tlg2pattern.C:32

◆ 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 }