LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
PhotonMappingXMirrorTransformations.h
Go to the documentation of this file.
1 
10 #ifndef LARSIM_PHOTONPROPAGATION_LIBRARYMAPPINGTOOLS_PHOTONMAPPINGXMIRRORTRANSFORMATIONS_H
11 #define LARSIM_PHOTONPROPAGATION_LIBRARYMAPPINGTOOLS_PHOTONMAPPINGXMIRRORTRANSFORMATIONS_H
12 
13 // LArSoft libraries
15 
16 // framework libraries
18 
19 // C/C++ standard libraries
20 #include <cmath> // std::abs()
21 
22 namespace phot {
23 
31 
32  public:
34 
35  // using Name = fhicl::Name;
36  // using Comment = fhicl::Comment;
37 
38  // no additional configuration required
39 
40  }; // struct Config
41 
43 
48  {}
49 
54  {}
55 
67  virtual geo::Point_t detectorToLibrary(geo::Point_t const& location) const override
68  {
69  return {std::abs(location.X()), location.Y(), location.Z()};
70  }
71 
72  }; // class PhotonMappingXMirrorTransformations
73 
74 } // namespace phot
75 
76 #endif // LARSIM_PHOTONPROPAGATION_LIBRARYMAPPINGTOOLS_PHOTONMAPPINGXMIRRORTRANSFORMATIONS_H
constexpr auto abs(T v)
Returns the absolute value of the argument.
Photon mapping transformation with reflection at x = 0.
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:180
General LArSoft Utilities.
A photon mapping identity transformation.
virtual geo::Point_t detectorToLibrary(geo::Point_t const &location) const override
Returns the representation within the library of a detector location.