MarlinTPC  1.2.0
XrayGeometryService.h
1 #ifndef XrayGeometryService_h
2 #define XrayGeometryService_h 1
3 
4 //LCIO
5 #include <lcio.h>
6 #include <EVENT/TrackerHit.h>
7 #include <EVENT/TrackerData.h>
8 #include <EVENT/LCObject.h>
9 
10 //marlin
11 #include <marlin/Global.h>
12 
13 //C++
14 #include <iostream>
15 #include <string>
16 #include <cmath>
17 #include <list>
18 #include <utility>
19 
20 namespace marlintpc{
21 
23 
24  public:
25 
26  //constructor
28 
29  //destructor
31 
32  void calculateGeometry(lcio::TrackerHit* hit, double rotAngle);
33 
34  double getRmsX() const;
35 
36  double getRmsY() const;
37 
38  double getLength() const;
39 
40  double getWidth() const;
41 
42  double getSkewnessL() const;
43 
44  double getSkewnessT() const;
45 
46  double getKurtosisL() const;
47 
48  double getKurtosisT() const;
49 
50  double getRadius() const;
51 
52  double getExcentricity() const;
53 
54  int numberPixelsWithinRadius(double radius) const;
55 
56  private:
57 
58  double* _memory;
59 
60  std::list<std::pair<double,double> > _pixelPositions;
61 
62  };//class XrayGeometryService
63 
64 }//namespace marlintpc
65 
66 #endif
Definition: XrayGeometryService.h:22