20 #include <JANA/JApplication.h>
29 #include <TDirectory.h>
46 InitJANAPlugin(locApplication);
77 TDirectory *
main = gDirectory;
78 gDirectory->mkdir(
"EPICS_dump")->cd();
83 h1epics_AD00 =
new TH1I(
"h1epics_AD00",
"Current AD00",nbins,0,500);
87 h2epics_pos_inner =
new TH2I(
"h1epics_pos_inner",
"Position AC inner",nbins,-10,10,nbins,-10,10);
90 h2epics_pos_outer =
new TH2I(
"h1epics_pos_outer",
"Position AC outer",nbins,-20,20,nbins,-20,20);
128 vector<const DEPICSvalue*> epicsvalues;
129 locEventLoop->Get(epicsvalues);
137 japp->RootFillLock(
this);
145 float pos_default=-1000.;
146 float xpos_inner = pos_default;
147 float ypos_inner = pos_default;;
148 float xpos_outer = pos_default;
149 float ypos_outer = pos_default;
150 for(vector<const DEPICSvalue*>::const_iterator val_itr = epicsvalues.begin();
151 val_itr != epicsvalues.end(); val_itr++) {
154 float fconv = atof(epics_val->
sval.c_str());
155 unsigned int iconv = atoi(epics_val->
sval.c_str());
156 bool isDigit = epics_val->
name.length()> 12 && isdigit(epics_val->
name[12]);
158 if ((epics_val->
name.substr(0,11) ==
"BCAL:pulser") & isdigit(epics_val->
name[11])) {
160 epics_val = *val_itr;
162 unsigned int iconv_low = atoi(epics_val->
sval.c_str());
165 iconv_low = iconv_low >> 31;
166 iconv = ((iconv <<1) & 0XFFFF) + iconv_low;
170 else if ((epics_val->
name.substr(0,11) ==
"BCAL:pulser") & isDigit) {
174 else if (epics_val->
name ==
"IBCAD00CRCUR6") {
180 else if (epics_val->
name ==
"AC:inner:position:x") {
183 else if (epics_val->
name ==
"AC:inner:position:y") {
186 else if (epics_val->
name ==
"AC:outer:position:x") {
189 else if (epics_val->
name ==
"AC:outer:position:y") {
193 if (xpos_inner> pos_default && ypos_inner > pos_default) {
196 if (xpos_outer> pos_default && ypos_outer > pos_default) {
200 japp->RootFillUnLock(
this);
jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber)
Called every event.
static TH1F * h1epics_AD00_VSevent
~JEventProcessor_EPICS_dump()
jerror_t erun(void)
Called everytime run number changes, provided brun has been called.
jerror_t init(void)
Called once at program start.
jerror_t fini(void)
Called after last event of last event source has been processed.
static TH2I * h2epics_pos_outer
static TH1F * h1epics_entries_VSevent
JEventProcessor_EPICS_dump()
static TH2I * h2epics_pos_inner
static TH1I * h1epics_AD00
jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber)
Called everytime a new run number is detected.
int main(int argc, char *argv[])
A DEPICSvalue object holds information for a single EPICS value read from the data stream...