GeoObjectSorter.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 /// \file GeoObjectSorter.h
3 /// \brief Interface to algorithm class for sorting geo::XXXGeo objects
4 /// \ingroup Geometry
5 ///
6 /// \author brebel@fnal.gov
7 ////////////////////////////////////////////////////////////////////////
8 #ifndef GEO_GEOOBJECTSORTER_H
9 #define GEO_GEOOBJECTSORTER_H
10 
11 #include <vector>
12 
15 
16 namespace geo{
17 
18  class AuxDetSensitiveGeo;
19  class CryostatGeo;
20  class TPCGeo;
21  class PlaneGeo;
22  class WireGeo;
23  class OpDetGeo;
24  /// @ingroup Geometry
26  public:
27  virtual ~GeoObjectSorter() = default;
28 
29  virtual void SortAuxDets(std::vector<geo::AuxDetGeo>& adgeo) const = 0;
30  virtual void SortAuxDetSensitive(std::vector<geo::AuxDetSensitiveGeo>& adsgeo) const = 0;
31  virtual void SortCryostats(std::vector<geo::CryostatGeo>& cgeo) const = 0;
32  virtual void SortTPCs(std::vector<geo::TPCGeo>& tgeo) const = 0;
33  virtual void SortPlanes(std::vector<geo::PlaneGeo>& pgeo,
34  geo::DriftDirection_t driftDir) const = 0;
35  virtual void SortWires(std::vector<geo::WireGeo>& wgeo) const = 0;
36  virtual void SortOpDets(std::vector<geo::OpDetGeo>& opdet) const;
37  };
38 
39 }
40 
41 #endif // GEO_GEOOBJECTSORTER_H
virtual void SortTPCs(std::vector< geo::TPCGeo > &tgeo) const =0
virtual ~GeoObjectSorter()=default
virtual void SortAuxDets(std::vector< geo::AuxDetGeo > &adgeo) const =0
virtual void SortOpDets(std::vector< geo::OpDetGeo > &opdet) const
virtual void SortCryostats(std::vector< geo::CryostatGeo > &cgeo) const =0
enum geo::driftdir DriftDirection_t
Drift direction: positive or negative.
virtual void SortAuxDetSensitive(std::vector< geo::AuxDetSensitiveGeo > &adsgeo) const =0
Encapsulate the geometry of an auxiliary detector.
Definition of data types for geometry description.
virtual void SortPlanes(std::vector< geo::PlaneGeo > &pgeo, geo::DriftDirection_t driftDir) const =0
virtual void SortWires(std::vector< geo::WireGeo > &wgeo) const =0
LArSoft geometry interface.
Definition: ChannelGeo.h:16