1 #ifndef _voxel_included_
2 #define _voxel_included_
7 #include <CLHEP/Vector/ThreeVector.h>
18 Voxel_tpc(
int row,
int phi,
int z,
double pos[3],
double posRPhi[2],
double edep,
double rPhiRes,
double zRes);
19 Voxel_tpc(
int row,
int phi,
int z, CLHEP::Hep3Vector coord,
double edep,
double rPhiRes,
double zRes);
22 void setAdjacent(
Voxel_tpc * p_voxel) { _adjacent_voxels.push_back(p_voxel);};
23 void setIsClusterHit() { _isClusterHit =
true;};
24 void setIsMerged() { _isMerged =
true;};
25 bool IsClusterHit() {
return _isClusterHit;};
26 bool IsMerged() {
return _isMerged;};
27 int clusterFind(vector <Voxel_tpc*>* hitList);
30 int getRowIndex() {
return _row_index;};
31 int getPhiIndex() {
return _phi_index;};
32 int getZIndex() {
return _z_index;};
33 Voxel_tpc * getFirstAdjacent() {
return *(_adjacent_voxels.begin());};
34 Voxel_tpc * getAdjacent(
int i) {
return _adjacent_voxels[i];};
35 int getNumberOfAdjacent() {
return _adjacent_voxels.size();};
36 double getX() {
return _coord.x();};
37 double getY() {
return _coord.y();};
38 double getZ() {
return _coord.z();};
39 double getR() {
return _coord.perp();};
40 double getPhi() {
return _coord.phi();};
41 double getEDep() {
return _edep;};
42 double getRPhiRes() {
return _rPhiRes;};
43 double getZRes() {
return _zRes;};
44 const CLHEP::Hep3Vector getHep3Vector() {
return _coord;};
53 vector <Voxel_tpc *> _adjacent_voxels{};
54 CLHEP::Hep3Vector _coord{};