-
Notifications
You must be signed in to change notification settings - Fork 0
/
TPCfitter_original.h
72 lines (62 loc) · 1.79 KB
/
TPCfitter_original.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#pragma once
#include "cadef.h"
#include "TROOT.h"
#include "TFile.h"
#include "TTree.h"
#include "TGraph2D.h"
#include <vector>
#include "dbDefs.h"
#include "epicsTypes.h"
#include "epicsString.h"
#define MAXHITS 2400
struct waveformPV {
unsigned int *data;
chid mychid;
evid myevid;
};
struct trackInfo {
float x[MAXHITS];
float y[MAXHITS];
float z[MAXHITS];
float x_min, x_max, y_min, y_max;
int iTrack;
int bcid_min, bcid_max;
int x_min_idx, y_min_idx, x_max_idx, y_max_idx;
};
struct fitInfo {
unsigned char col[MAXHITS]; // unsigned char (unsigned char )
unsigned short row[MAXHITS]; //unsigned short (unsigned short)
unsigned char tot[MAXHITS]; //unsigned char (unsigned char )
unsigned char bcid[MAXHITS]; //unsigned char (unsigned char )
double timestamp;
unsigned int npoints;
float pars[5];
float errs[5];
float length;
// float energy;
float impact_pars[4]; //x=0, x=end, y=0, y=end
float theta; // radian
float phi;
unsigned int sumTOT;
unsigned int evtNum; // Not doing anything with this right now
bool alphaFlag;
bool neutronFlag;
unsigned short hitside;
unsigned short iTPC;
};
void tpcDatastreamSubscribe(char* arg);
void eventCallback(event_handler_args eha);
void unpackEvent();
void fitTrack();
void getTrackInfo();
void getPID();
unsigned short getHitside();
void SumDistance2(int &, double *, double & sum, double * par, int );
void printChidInfo(chid chid, const char *message);
void exceptionCallback(exception_handler_args args);
void connectionCallback(connection_handler_args args);
void accessRightsCallback(access_rights_handler_args args);
void SumDistance2(int &, double *, double & sum, double * par, int );
double distance2(double px,double py,double pz, double *p);
void writeNtuples();
//void writeNtuples_thread();