AlcapDAQ  1
Macros | Functions | Variables
MVacuumHisto.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <map>
#include <utility>
#include <time.h>
#include "midas.h"
#include <TH1.h>
#include <TH2.h>
#include "TVacuumData.h"

Go to the source code of this file.

Macros

#define MAX_PRESSURE_POINTS   7200
 

Functions

INT MVacuumHisto_init (void)
 
INT MVacuumHisto (EVENT_HEADER *, void *)
 

Variables

HNDLE hDB
 
TVacuumDatagVacuum
 
static TH1F * hVacuumPressure
 
static TH1I * hVacuumStatus
 
ANA_MODULE MVacuumHisto_module
 

Macro Definition Documentation

#define MAX_PRESSURE_POINTS   7200

Definition at line 30 of file MVacuumHisto.cpp.

Referenced by MVacuumHisto(), and MVacuumHisto_init().

Function Documentation

INT MVacuumHisto ( EVENT_HEADER *  pheader,
void *  pevent 
)

Definition at line 75 of file MVacuumHisto.cpp.

References TVacuumData::AddPoint(), bank_name, hVacuumPressure, hVacuumStatus, MAX_PRESSURE_POINTS, printf(), sprintf(), and SUCCESS.

76 {
77  // Get the event number
78  //int midas_event_number = pheader->serial_number;
79 
80  // Fill Diagnostic histogram
81  //hNOctalFADCIslandsReadPerBlock->Fill(bank_name.c_str(), midas_event_number,
82  //fadc_islands.size());
83 
84  float *ppressure;
85  INT *pstatus;
86 
87  // printf("In caen ER!\n");
88 
89  char bank_name[8];
90 
91  int eventid = EVENT_ID(pevent);
92  if (eventid != 24) return SUCCESS;
93 
94  time_t block_time = pheader->time_stamp;
95  int time_sec = (int) block_time;
96 
97 // char banklist[STRING_BANKLIST_MAX];
98 // int nbanks = bk_list(pevent, banklist);
99 // printf("nbanks = %d, %s\n", nbanks, banklist);
100  //printf("eventid = %d\n",eventid);
101  int midas_event_number = pheader->serial_number;
102  //printf("serial_number = %d\n", midas_event_number);
103 // char fdate[] = "%Y-%m-%d", ftime[] = "%H:%M:%S";
104 // struct tm block_tm;
105 // localtime_r(&block_time, &block_tm);
106 // char sdate[100], stime[100];
107 // strftime(sdate, 100, fdate, &block_tm);
108 // strftime(stime, 100, ftime, &block_tm);
109 // printf("Current block stored (%d) on %s at %s\n",
110 // time_sec, sdate, stime);
111 
112  sprintf(bank_name,"PRM%i",0); // only one gauge
113  unsigned int bank_len = bk_locate(pevent, "PRM0", &ppressure);
114 // printf("MIDAS bank [%s] size %d, %d, %f----------------------------------------\n",bank_name,bank_len,ppressure==NULL,ppressure==NULL?-456:*ppressure);
115 
116  sprintf(bank_name,"PRS%i",0); // only one gauge
117  bank_len = bk_locate(pevent, bank_name, &pstatus);
118 // printf("MIDAS bank [%s] size %d, %d , %d----------------------------------------\n",bank_name,bank_len,pstatus==NULL,pstatus==NULL?-123:*pstatus);
119 
120  // By default, banks size is 1
121  if (ppressure!=NULL&&pstatus!=NULL){
122  gVacuum->AddPoint(time_sec, *pstatus, *ppressure);
123  for (int ibin = 1; ibin <= MAX_PRESSURE_POINTS; ibin++){
124  if (ibin!=MAX_PRESSURE_POINTS){
125  hVacuumPressure->SetBinContent(ibin,hVacuumPressure->GetBinContent(ibin+1));
126  hVacuumStatus->SetBinContent(ibin,hVacuumPressure->GetBinContent(ibin+1));
127  }
128  else{
129  hVacuumPressure->SetBinContent(ibin,*ppressure);
130  hVacuumStatus->SetBinContent(ibin,*pstatus);
131  }
132  }
133  }
134  else{
135  printf("###!!!Cannot find point!!!###\n");
136  }
137 
138  return SUCCESS;
139 }
INT MVacuumHisto_init ( )

This method initializes histograms.

Definition at line 63 of file MVacuumHisto.cpp.

References hVacuumPressure, hVacuumStatus, MAX_PRESSURE_POINTS, and SUCCESS.

64 {
65  hVacuumPressure = new TH1F("Vacuum_Pressure","Pressure (mbar)",MAX_PRESSURE_POINTS,-(double)MAX_PRESSURE_POINTS/60,0);
66  hVacuumPressure->GetXaxis()->SetTitle("Time to now (min)");
67  hVacuumPressure->GetYaxis()->SetTitle("Pressure (mbar)");
68  hVacuumStatus = new TH1I("Vacuum_Status","Status",MAX_PRESSURE_POINTS,-(double)MAX_PRESSURE_POINTS/60,0);
69  hVacuumStatus->GetXaxis()->SetTitle("Time to now (min)");
70  hVacuumStatus->GetYaxis()->SetTitle("Status of Vacuum Gauge");
71 
72  return SUCCESS;
73 }

Variable Documentation

TVacuumData* gVacuum

Definition at line 56 of file analyzer.cpp.

Referenced by analyzer_exit().

HNDLE hDB

Definition at line 11 of file mucap_compress.cpp.

TH1F* hVacuumPressure
static

Definition at line 44 of file MVacuumHisto.cpp.

Referenced by MVacuumHisto(), and MVacuumHisto_init().

TH1I* hVacuumStatus
static

Definition at line 45 of file MVacuumHisto.cpp.

Referenced by MVacuumHisto(), and MVacuumHisto_init().

ANA_MODULE MVacuumHisto_module
Initial value:
=
{
"MVacuumHisto",
"Chen Wu",
NULL,
NULL,
NULL,
NULL,
0,
NULL,
}

Definition at line 47 of file MVacuumHisto.cpp.