5322{
5326
5327#ifdef HAVE_PVM
5329
5331 for (
i = 0;
i < argc;
i++) {
5332 strcat(
str, argv[
i]);
5334 }
5335 PVM_DEBUG(
"Analyzer started: %s",
str);
5336#endif
5337
5338#ifdef HAVE_ROOT
5339 int argn = 1;
5340 char *argp = (char *) argv[0];
5341
5342 manaApp = new TRint("ranalyzer", &argn, &argp, NULL, 0, true);
5343
5344
5345 clp.root_port = 9090;
5346#endif
5347
5348
5350 sizeof(
clp.exp_name));
5351
5352#ifdef HAVE_HBOOK
5353
5355#endif
5356
5357
5360 return 1;
5361
5362
5364 printf("Becoming a daemon...\n");
5367 }
5368
5369
5370 if (
clp.pvm_buf_size == 0)
5371 clp.pvm_buf_size = 512 * 1024;
5372 else
5373 clp.pvm_buf_size *= 1024;
5375 printf(
"Buffer size cannot be larger than %dkB\n",
PVM_BUFFER_SIZE / 1024);
5376 return 1;
5377 }
5378
5379
5380 clp.online = (
clp.input_file_name[0][0] == 0);
5381
5382#ifdef HAVE_HBOOK
5383
5386#endif
5387
5388#ifdef HAVE_PVM
5391 return 1;
5392#endif
5393
5394
5396 if (
clp.host_name[0])
5397 printf(
"Connect to experiment %s on host %s...",
clp.exp_name,
clp.host_name);
5398 else
5399 printf(
"Connect to experiment %s...",
clp.exp_name);
5400 }
5401
5405
5407 printf(
"\nError: Experiment \"%s\" not defined.\n",
clp.exp_name);
5408 if (getenv("MIDAS_DIR")) {
5409 printf
5410 ("Note that \"MIDAS_DIR\" is defined, which results in a single experiment\n");
5411 printf
5412 ("called \"Default\". If you want to use the \"exptab\" file, undefine \"MIDAS_DIR\".\n");
5413 }
5414 return 1;
5417 printf("\nError: %s\n", s.c_str());
5418 return 1;
5419 }
5420
5422 printf("OK\n");
5423
5424
5426
5429
5431
5433
5434
5435
5436
5438 printf(
"An analyzer named \"%s\" is already running in this experiment.\n",
analyzer_name);
5439 printf("Please select another analyzer name in analyzer.c or stop other analyzer.\n");
5441 return 1;
5442 }
5443
5444
5447 printf(
"An analyzer named \"%s\" is already running in this experiment.\n",
analyzer_name);
5448 printf("Please select another analyzer name in analyzer.c or stop other analyzer.\n");
5450 return 1;
5451 }
5452
5453
5458 printf("Failed to start local RPC server");
5459 return 1;
5460 }
5461 } else {
5465
5467
5470
5473 printf("Previous analyzer stopped\n");
5474 }
5475 }
5476 }
5477 }
5478
5479#ifdef HAVE_HBOOK
5480
5482#endif
5483
5484
5486
5487
5490
5491
5494
5495
5498 return 1;
5499 }
5500
5501
5505 assert(hkey);
5508
5509#ifdef HAVE_ROOT
5510
5512 gROOT->GetRootFolder()->AddFolder("histos", "MIDAS Analyzer Histograms");
5515
5516
5519
5522
5524
5525
5527 start_root_socket_server(
clp.root_port);
5528
5529#endif
5530
5531#ifdef HAVE_HBOOK
5532
5535
5538
5540#endif
5541
5542#ifdef HAVE_HBOOK
5543
5547 } else {
5549 strcpy(
str,
"OFLN");
5551 printf("\nGLOBAL MEMORY NAME = %s\n", "OFLN");
5552 } else
5554 }
5555#endif
5556
5557
5560 return 1;
5561 }
5562
5563
5566
5567
5569
5570
5573
5574
5575
5578 else
5580
5581
5584
5585
5587
5588
5591
5592#ifdef HAVE_PVM
5593
5594 PVM_DEBUG("Analyzer stopped");
5595
5596
5597 pvm_exit();
5598
5599
5601 disable_shm_write =
TRUE;
5602
5603#endif
5604
5605
5607
5608#ifdef HAVE_ROOT
5610 manaApp->Run(true);
5611 printf("\r \n");
5612#endif
5613
5614 return 0;
5615}
INT cm_register_transition(INT transition, INT(*func)(INT, char *), INT sequence_number)
INT cm_shutdown(const char *name, BOOL bUnique)
INT cm_register_function(INT id, INT(*func)(INT, void **))
INT cm_exist(const char *name, BOOL bClientName)
INT cm_connect_experiment1(const char *host_name, const char *default_exp_name, const char *client_name, void(*func)(char *), INT odb_size, DWORD watchdog_timeout)
INT cm_cleanup(const char *client_name, BOOL ignore_timeout)
INT cm_disconnect_experiment(void)
INT cm_get_environment(char *host_name, int host_name_size, char *exp_name, int exp_name_size)
INT cm_set_watchdog_params(BOOL call_watchdog, DWORD timeout)
INT ss_daemon_init(BOOL keep_stdout)
std::string cm_get_error(INT code)
INT db_get_record1(HNDLE hDB, HNDLE hKey, void *data, INT *buf_size, INT align, const char *rec_str)
INT db_set_record(HNDLE hDB, HNDLE hKey, void *data, INT buf_size, INT align)
#define RPC_ANA_CLEAR_HISTOS
void register_requests(void)
INT init_module_parameters(BOOL bclose)
INT tr_stop(INT rn, char *error)
INT tr_start(INT rn, char *error)
INT tr_pause(INT rn, char *error)
INT tr_resume(INT rn, char *error)
INT getparam(int argc, char **argv)
#define DEFAULT_WATCHDOG_TIMEOUT
#define ANA_OUTPUT_INFO_STR
#define DEFAULT_RPC_TIMEOUT
TObjArray * gHistoFolderStack
char global_memory_name[8]