ICARUS.h
Go to the documentation of this file.
1 /**
2  * @file larpandora/LArPandoraInterface/Detectors/ICARUS.h
3  *
4  * @brief Detector interface for ICARUS
5  *
6  * $Log: $
7  */
8 
11 
13 
14 namespace lar_pandora {
15 
16  /**
17  * @brief Detector interface for ICARUS
18  */
19  class ICARUS : public VintageLArTPCThreeView {
20  public:
22  const geo::CryostatID::CryostatID_t cstat) const override;
23 
25  const geo::CryostatID::CryostatID_t cstat) const override;
26 
28  const geo::CryostatID::CryostatID_t cstat) const override;
29 
30  float WireAngleW(const geo::TPCID::TPCID_t tpc,
31  const geo::CryostatID::CryostatID_t cstat) const override;
32  };
33 
34  inline geo::View_t
36  const geo::CryostatID::CryostatID_t cstat) const
37  {
38  return (this->GetLArSoftGeometry()->TPC(tpc, cstat).DriftDirection() == geo::kPosX ?
39  this->GetLArSoftGeometry()->View(geo::PlaneID(cstat, tpc, 1)) :
40  this->GetLArSoftGeometry()->View(geo::PlaneID(cstat, tpc, 2)));
41  }
42 
43  //------------------------------------------------------------------------------------------------------------------------------------------
44 
45  inline geo::View_t
47  const geo::CryostatID::CryostatID_t cstat) const
48  {
49  return (this->GetLArSoftGeometry()->TPC(tpc, cstat).DriftDirection() == geo::kPosX ?
50  this->GetLArSoftGeometry()->View(geo::PlaneID(cstat, tpc, 2)) :
51  this->GetLArSoftGeometry()->View(geo::PlaneID(cstat, tpc, 1)));
52  }
53 
54  //------------------------------------------------------------------------------------------------------------------------------------------
55 
56  inline geo::View_t
58  const geo::CryostatID::CryostatID_t cstat) const
59  {
60  return this->GetLArSoftGeometry()->View(geo::PlaneID(cstat, tpc, 0));
61  }
62 
63  //------------------------------------------------------------------------------------------------------------------------------------------
64 
65  inline float
67  {
69  this->TargetViewW(tpc, cstat), tpc, cstat, this->GetLArSoftGeometry()));
70  }
71 
72 } // namespace lar_pandora
Detector interface for an older-style 3view, horizontal drift, single-phase LArTPC (e...
Helper functions for extracting detector geometry for use in reconsruction.
AdcChannelData::View View
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
geo::View_t TargetViewW(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
Map a LArSoft view to Pandora's W view.
Definition: ICARUS.h:57
The data type to uniquely identify a Plane.
Definition: geo_types.h:472
Detector interface for ICARUS.
Definition: ICARUS.h:19
art framework interface to geometry description
geo::View_t TargetViewU(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
Map a LArSoft view to Pandora's U view.
Definition: ICARUS.h:35
T abs(T value)
Detector interface for a 3view, horizontal drift, single-phase LArTPC.
const art::ServiceHandle< geo::Geometry > & GetLArSoftGeometry() const
Loan the LArSoft geometry handle owned by this class.
View_t View(geo::PlaneID const &pid) const
Returns the view (wire orientation) on the channels of specified TPC plane.
unsigned int CryostatID_t
Type for the ID number.
Definition: geo_types.h:191
float WireAngle(const geo::View_t view, const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat, const art::ServiceHandle< geo::Geometry > &larsoftGeometry)
Calculate the wire angle of a LArTPC view in a given TPC/cryostat.
unsigned int TPCID_t
Type for the ID number.
Definition: geo_types.h:387
Drift towards positive X values.
Definition: geo_types.h:161
geo::View_t TargetViewV(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
Map a LArSoft view to Pandora&#39;s V view.
Definition: ICARUS.h:46
float WireAngleW(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
The angle of the wires in the mapped V view.
Definition: ICARUS.h:66