clas12root
Loading...
Searching...
No Matches
detector.h
Go to the documentation of this file.
1/*
2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
5 */
6
7/*
8 * File: detector.h
9 * Author: gavalian
10 *
11 * Created on April 27, 2017, 10:01 AM
12 */
13
14#ifndef DETECTOR_H
15#define DETECTOR_H
16
17#include <iostream>
18#include <cstdlib>
19#include <cstdio>
20#include <string>
21#include <vector>
22#include <stdint.h>
23#include <stdlib.h>
24#include <map>
25#include <hipo4/bank.h>
26
27
28namespace clas12 {
29
31 public:
33 int layer;
34 double time;
35 double energy;
36 double path;
37 double x,y,z;
38
41
42 void show();
43 };
44
45 class detector : public hipo::bank {
46
47 private:
48
49 int detector_id_order;
50 int layer_order;
51 int energy_order;
52 int pindex_order;
53 int path_order;
54 int time_order;
55 int x_order;
56 int y_order;
57 int z_order;
58
59 std::map<int,int> rmap;
60
61 public:
62
63
65
66 detector(const char *bankName, hipo::reader &r) : hipo::bank(bankName,r){
67 detector_id_order = getEntryOrder("detector");
68 layer_order = getEntryOrder("layer");
69 energy_order = getEntryOrder("energy");
70 path_order = getEntryOrder("path");
71 time_order = getEntryOrder("time");
72 pindex_order = getEntryOrder("pindex");
73 x_order = getEntryOrder("x");
74 y_order = getEntryOrder("y");
75 z_order = getEntryOrder("z");
76 }
77
78 ~detector();
79
80 double getEnergy(int detector, int layer, int pindex);
81 double getTime(int detector, int layer, int pindex);
82 double getPath(int detector, int layer, int pindex);
83
84
85 void init(const char *bankName, hipo::reader &r);
86 void scanIndex();
87
88 int getDetector(int index) { return getInt(detector_id_order,index);}
89 int getLayer(int index) { return getInt(layer_order,index);}
90 int getIndex(int index) { return getInt(pindex_order,index);}
91 float getPath(int index) { return getFloat(path_order,index);}
92 float getTime(int index) { return getFloat(time_order,index);}
93 float getEnergy(int index) { return getFloat(energy_order,index);}
94 float getX(int index) { return getFloat(x_order,index);}
95 float getY(int index) { return getFloat(y_order,index);}
96 float getZ(int index) { return getFloat(z_order,index);}
97
98
99 void getDetectorHit(int detector, int layer, int index, detectorHit &hit);
105 void notify(){ scanIndex(); }
106 };
107
108}
109
110#endif /* UTILS_H */
Definition detector.h:30
~detectorHit()
Definition detector.h:40
int layer
Definition detector.h:33
double energy
Definition detector.h:35
void show()
Definition detector.cpp:89
int detector
Definition detector.h:32
double z
Definition detector.h:37
double time
Definition detector.h:34
detectorHit()
Definition detector.h:39
double x
Definition detector.h:37
double y
Definition detector.h:37
double path
Definition detector.h:36
Definition detector.h:45
float getX(int index)
Definition detector.h:94
void scanIndex()
Definition detector.cpp:27
~detector()
Definition detector.cpp:12
void init(const char *bankName, hipo::reader &r)
Definition detector.cpp:14
float getZ(int index)
Definition detector.h:96
double getTime(int detector, int layer, int pindex)
Definition detector.cpp:39
float getEnergy(int index)
Definition detector.h:93
double getPath(int detector, int layer, int pindex)
Definition detector.cpp:57
int getLayer(int index)
Definition detector.h:89
int getIndex(int index)
Definition detector.h:90
int getDetector(int index)
Definition detector.h:88
float getTime(int index)
Definition detector.h:92
float getY(int index)
Definition detector.h:95
void notify()
Definition detector.h:105
detector(const char *bankName, hipo::reader &r)
Definition detector.h:66
void getDetectorHit(int detector, int layer, int index, detectorHit &hit)
Definition detector.cpp:66
detector()
Definition detector.h:64
double getEnergy(int detector, int layer, int pindex)
Definition detector.cpp:48
float getPath(int index)
Definition detector.h:91
Definition calextras.cpp:10
Definition ntuple_reader.cpp:4