MarlinUtil  1.12.1
ClusterExtended.h
1 #ifndef ClusterExtended_H
2 #define ClusterExtended_H 1
3 
4 #include "CaloHitExtended.h"
5 #include "TrackExtended.h"
6 #include "EVENT/Cluster.h"
7 #include "HelixClass.h"
8 
9 using namespace lcio;
10 
11 class TrackExtended;
12 typedef std::vector<TrackExtended*> TrackExtendedVec;
13 
14 class CaloHitExtended;
15 typedef std::vector<CaloHitExtended*> CaloHitExtendedVec;
16 
17 class ClusterExtended;
18 typedef std::vector<ClusterExtended*> ClusterExtendedVec;
19 
29 
30  public:
31 
33  ClusterExtended( Cluster * cluster );
36 
37  ~ClusterExtended();
38 
39  CaloHitExtendedVec & getCaloHitExtendedVec();
40  TrackExtendedVec & getTrackExtendedVec();
41  const float* getStartingPoint();
42  const float* getDirection();
43  void setStartingPoint(float* sPoint);
44  void setDirection(float* direct);
45  void addCaloHitExtended(CaloHitExtended * calohit);
46  void addTrackExtended(TrackExtended * track);
47  void setType( int type );
48  int getType();
49 
50  void Clear();
51 
52  void setCluster(Cluster * cluster);
53  Cluster * getCluster();
54 
55  void setAxis(float * axis);
56  float * getAxis();
57 
58  void setEccentricity( float eccentricity);
59  float getEccentricity();
60 
61  void setHelix(HelixClass helix);
62  HelixClass & getHelix();
63 
64  void setHelixChi2R(float helixChi2);
65  float getHelixChi2R();
66 
67  void setHelixChi2Z(float helixChi2);
68  float getHelixChi2Z();
69 
70  void setPosition(float * position);
71  float * getPosition();
72 
73  void setLowEdge(float * lowEdge);
74  float * getLowEdge();
75  void setUpEdge(float * upEdge);
76  float * getUpEdge();
77 
78 
79  private:
80 
81  TrackExtendedVec _trackVector;
82  CaloHitExtendedVec _hitVector;
83  float _startingPoint[3];
84  float _direction[3];
85 
86  int _type;
87  Cluster * _cluster;
88 
89  float _axis[3];
90  float _position[3];
91  float _eccentricity;
92 
93  HelixClass _helix;
94  float _helixChi2R;
95  float _helixChi2Z;
96 
97  float _lowEdge[3];
98  float _upEdge[3];
99 
100 
101 };
102 
103 #endif
Class extending native LCIO class Track.
Definition: TrackExtended.h:28
Class extending native LCIO class Cluster.
Definition: ClusterExtended.h:28
Definition: HelixClass.h:53
Class extending native LCIO class CalorimeterHit.
Definition: CaloHitExtended.h:20