ProtoDUNEDPCRPGeo.h
Go to the documentation of this file.
1 #ifndef PROTODUNEDP_CRPGEO_H
2 #define PROTODUNEDP_CRPGEO_H
3 
4 ///////////////////////////////////////////////////////////////
5 //
6 // Utility functions to access geo uniformation for
7 // ProtoDUNE CRPs
8 //
9 // The positions of each CRP are obtained from the
10 // geometry service
11 //
12 // For the LEM numbering we follow the convention
13 //
14 // |5 |11| |35|
15 // |4 |10| |34|
16 // |3 |9 | |33|
17 // |2 |8 | |32|
18 // |1 |7 | |31|
19 // |0 |6 |...|30|
20 // |--------------------> Z axis
21 //
22 // Created: vglaymov@ipnl.in2p3.fr
23 //
24 ///////////////////////////////////////////////////////////////
25 
26 //#include "fhiclcpp/ParameterSet.h"
28 
29 #include <utility>
30 //#include <vector>
31 
32 namespace protoana {
33 
34  typedef struct crpgeoinfo {
35  bool valid; // flag
36  int crpid; // CRP ID == TPC ID
37  int lemid; // LEM ID
38  float danode; // distance to CRP along drift
39  float dlem; // min distance to LEM border
40  float dedge; // min distance to CRP edge border
41  crpgeoinfo() : valid(false), crpid(-1), lemid(-1), danode(0), dlem(0), dedge(0)
42  {;}
43  } crpgeoinfo;
44 
46  {
47 
48  public:
51 
52  crpgeoinfo GetCRPGeoInfo( geo::Point_t const &pnt) const;
53  int GetLemsPerCRP() const
54  { return fLemsPerRow * fLemsPerRow; }
55 
56  private:
57  //int fLogLevel;
58  int fLemsPerRow; //
59  float fLemWidth; // cm
61  };
62 
63 
64 
65 } // namespace
66 
67 #endif
68 
69 
art framework interface to geometry description
The geometry of one entire detector, as served by art.
Definition: Geometry.h:196
geo::Geometry const * fGeom
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:184