10 #ifndef LARCOREALG_GEOMETRY_LOCALTRANSFORMATION_H 11 #define LARCOREALG_GEOMETRY_LOCALTRANSFORMATION_H 20 #include <type_traits> 31 template <
typename Dest,
typename Src>
40 template <
typename StoredMatrix,
typename ITER>
44 template <
typename StoredMatrix>
63 template <
typename StoredMatrix>
83 : fGeoMatrix(matrix) {}
85 : fGeoMatrix(
std::
move(matrix)) {}
121 template <
typename ITER>
145 void LocalToWorld(
double const* local,
double* world)
const;
168 typename DestPoint,
typename SrcPoint,
172 {
return LocalToWorldImpl<DestPoint>(local); }
173 template <
typename Po
int>
175 {
return LocalToWorldImpl<Point>(local); }
189 void LocalToWorldVect(
double const* local,
double* world)
const;
203 typename DestVector,
typename SrcVector,
207 {
return LocalToWorldVectImpl<DestVector>(local); }
208 template <
typename Vector>
210 {
return LocalToWorldVectImpl<Vector>(local); }
231 void WorldToLocal(
double const* world,
double* local)
const;
251 typename DestPoint,
typename SrcPoint,
255 {
return WorldToLocalImpl<DestPoint>(world); }
256 template <
typename Po
int>
258 {
return WorldToLocalImpl<Point>(world); }
272 void WorldToLocalVect(
const double* world,
double* local)
const;
287 typename DestVector,
typename SrcVector,
291 {
return WorldToLocalVectImpl<DestVector>(world); }
292 template <
typename Vector>
294 {
return WorldToLocalVectImpl<Vector>(world); }
306 template <
typename DestPo
int,
typename SrcPo
int>
307 DestPoint LocalToWorldImpl(SrcPoint
const& local)
const;
309 template <
typename DestVector,
typename SrcVector>
310 DestVector LocalToWorldVectImpl(SrcVector
const& local)
const;
312 template <
typename DestPo
int,
typename SrcPo
int>
313 DestPoint WorldToLocalImpl(SrcPoint
const& world)
const;
315 template <
typename DestVector,
typename SrcVector>
316 DestVector WorldToLocalVectImpl(SrcVector
const& world)
const;
322 template <
typename Dest,
typename Src>
326 <std::decay_t<Dest>, std::decay_t<Src>>
::convert 327 (std::forward<Src>(trans));
337 #include "LocalTransformation.tcc" 342 #endif // LARCOREALG_GEOMETRY_LOCALTRANSFORMATION_H end
while True: pbar.update(maxval-len(onlies[E][S])) #print iS, "/", len(onlies[E][S]) found = False for...
decltype(auto) convertTransformationMatrix(Src &&trans)
Converts a transformation matrix into Dest format.
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
def convert(inputfile, outputfile="wire-cell-garfield-fine-response.json.bz2", average=False, shaped=False)
static StoredMatrix transformationFromPath(ITER begin, ITER end)
Builds a matrix to go from local to world coordinates in one step.
decltype(auto) constexpr begin(T &&obj)
ADL-aware version of std::begin.
LArSoft geometry interface.
std::vector< TGeoNode const * >::const_iterator GeoNodeIterator_t