MuonCounter35Alg.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 /// \file MuonCounter35Alg.h
3 /// \brief Interface to algorithm class for DUNE 35t muon counters.
4 ///
5 /// \version $Id: $
6 /// \author Matthew Worcester (mworcester@bnl.gov)
7 ////////////////////////////////////////////////////////////////////////
8 #ifndef GEO_MUONCOUNTER35ALG_H
9 #define GEO_MUONCOUNTER35ALG_H
10 
12 #include "fhiclcpp/ParameterSet.h"
13 
14 namespace geo{
15 
17 
18  public:
19 
20  // constructor and destructor
21 
22  explicit MuonCounter35Alg(fhicl::ParameterSet const& p);
23 
24  virtual ~MuonCounter35Alg();
25 
26  // read in muon counter geometry
27 
28  static int loadMuonCounterGeometry(char* filename, std::vector< std::vector<double> > &geometry);
29 
30  // test if a track intersects any counter
31 
32  static int testTrackInAllCounters(int trackID, TVector3 trackpoint, TVector3 trackvector,
33  std::vector< std::vector<double> > &geometry,
34  std::vector< std::vector<double> > &hitcounters);
35 
36  // test if a track intersects a single counter
37 
38  static int testTrackInCounter(TVector3 trackpoint, TVector3 trackvector,
39  std::vector<double> &singlecountergeometry,
40  TVector3 &intersectionpoint);
41 
42  // function to test if a point is inside a 2D polygon
43 
44  static int testPointInPolygon(int nvert, double *vertx, double *verty, double testx, double testy);
45 
46  private:
47 
48 
49 
50  };
51 
52 }
53 #endif // GEO_MUONCOUNTER35ALG_H
54 
Interface for a class providing readout channel mapping to geometry.
Definition: ChannelMapAlg.h:48
MuonCounter35Alg(fhicl::ParameterSet const &p)
struct vector vector
string filename
Definition: train.py:213
static int testTrackInCounter(TVector3 trackpoint, TVector3 trackvector, std::vector< double > &singlecountergeometry, TVector3 &intersectionpoint)
static int loadMuonCounterGeometry(char *filename, std::vector< std::vector< double > > &geometry)
static int testPointInPolygon(int nvert, double *vertx, double *verty, double testx, double testy)
p
Definition: test.py:223
static int testTrackInAllCounters(int trackID, TVector3 trackpoint, TVector3 trackvector, std::vector< std::vector< double > > &geometry, std::vector< std::vector< double > > &hitcounters)
Interface to algorithm class for a specific detector channel mapping.
LArSoft geometry interface.
Definition: ChannelGeo.h:16