9 #ifndef LAR_PANDORA_DETECTOR_VINTAGE_LAR_TPC_THREE_VIEW_H 10 #define LAR_PANDORA_DETECTOR_VINTAGE_LAR_TPC_THREE_VIEW_H 1 15 #include "Api/PandoraApi.h" 16 #include "Managers/PluginManager.h" 17 #include "Pandora/Pandora.h" 18 #include "Plugins/LArTransformationPlugin.h" 57 const float maxDisplacement)
const override;
64 const float maxDisplacement,
76 const float halfWirePitch,
79 const pandora::Pandora* pPandora)
const override;
176 const float maxDisplacement)
const 178 if (gaps.X() < 0.f || gaps.X() > maxDisplacement || deltas.Y() > maxDisplacement ||
179 deltas.Z() > maxDisplacement)
190 return LArDetectorGap(point1.X(), point1.Y(), point1.Z(), point2.X(), point2.Y(), point2.Z());
196 const float maxDisplacement,
204 inline PandoraApi::Geometry::LineGap::Parameters
212 inline PandoraApi::Geometry::LineGap::Parameters
219 const float halfWirePitch,
222 const pandora::Pandora* pPandora)
const 224 float first(0.
f), last(0.
f);
225 pandora::LineGapType gapType(pandora::TPC_DRIFT_GAP);
227 first = firstXYZ.Z();
229 gapType = pandora::TPC_WIRE_GAP_VIEW_W;
233 pPandora->GetPlugins()->GetLArTransformationPlugin()->YZtoU(firstXYZ.Y(), firstXYZ.Z());
234 last = pPandora->GetPlugins()->GetLArTransformationPlugin()->YZtoU(lastXYZ.Y(), lastXYZ.Z());
235 gapType = pandora::TPC_WIRE_GAP_VIEW_U;
239 pPandora->GetPlugins()->GetLArTransformationPlugin()->YZtoV(firstXYZ.Y(), firstXYZ.Z());
240 last = pPandora->GetPlugins()->GetLArTransformationPlugin()->YZtoV(lastXYZ.Y(), lastXYZ.Z());
241 gapType = pandora::TPC_WIRE_GAP_VIEW_V;
244 first, last, xFirst, xLast, halfWirePitch, gapType);
260 #endif // #ifndef LAR_PANDORA_DETECTOR_VINTAGE_LAR_TPC_THREE_VIEW_H
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
bool CheckDetectorGapSize(const geo::Vector_t &gaps, const geo::Vector_t &deltas, const float maxDisplacement) const override
Check whether a gap size is small enough to be registered as a detector gap.
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
geo::View_t TargetViewV(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
Map a LArSoft view to Pandora's V view.
Empty interface to map pandora to specifics in the LArSoft geometry.
The data type to uniquely identify a Plane.
float WirePitchW() const override
The wire pitch of the mapped W view.
cout<< "Opened file "<< fin<< " ixs= "<< ixs<< endl;if(ixs==0) hhh=(TH1F *) fff-> Get("h1")
LArDetectorGap CreateDetectorGap(const geo::Point_t &point1, const geo::Point_t &point2, const geo::Vector_t &widths) const override
Create a detector gap.
PandoraApi::Geometry::LineGap::Parameters CreateLineGapParametersFromReadoutGaps(const geo::View_t view, const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat, const geo::Point_t &firstXYZ, const geo::Point_t &lastXYZ, const float halfWirePitch, const float xFirst, const float xLast, const pandora::Pandora *pPandora) const override
Create the line gap parameters to give to the pandora API.
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.
DriftAxis DriftAxisWithSign() const
Returns the expected drift direction based on geometry.
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.
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.
const geo::GeometryCore & GetLArSoftGeometry() const
Loan the LArSoft geometry handle owned by this class.
float WireAngleU(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
The angle of the wires in the mapped U view.
float WirePitchV() const override
The wire pitch of the mapped V view.
View_t View() const
Which coordinate does this plane measure.
Detector interface for a 3view, horizontal drift, single-phase LArTPC.
Interface for a class providing readout channel mapping to geometry.
float WireAngleV(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
The angle of the wires in the mapped V view.
void LoadDaughterDetectorGaps(const LArDriftVolume &driftVolume, const float maxDisplacement, LArDetectorGapList &listOfGaps) const override
Create detector gaps for all daughter volumes in a logical TPC volume.
art::ServiceHandle< geo::Geometry > m_LArSoftGeometry
the LArSoft geometry handle
The data type to uniquely identify a TPC.
Description of the physical geometry of one entire detector.
const geo::WireReadoutGeom & GetChannelMap() const
geo::WireReadoutGeom const * m_wireReadoutGeom
float WirePitchU() const override
The wire pitch of the mapped U view.
float WireAngle(const geo::View_t view, const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat, const geo::WireReadoutGeom &wireReadoutGeom)
Calculate the wire angle of a LArTPC view in a given TPC/cryostat.
Drift towards positive values.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
PandoraApi::Geometry::LineGap::Parameters CreateDriftGapParameters(const LArDetectorGap &gap)
Make the drift gap parameters for the Pandora API.
unsigned int CryostatID_t
Type for the ID number.
PandoraApi::Geometry::LineGap::Parameters CreateReadoutGapParameters(const float firstPoint, const float lastPoint, const float xFirst, const float xLast, const float halfWirePitch, const pandora::LineGapType gapType)
Make the readout gap parameters for the Pandora API.
PandoraApi::Geometry::LineGap::Parameters CreateLineGapParametersFromDetectorGaps(const LArDetectorGap &gap) const override
Create the line gap parameters to give to the pandora API.
unsigned int TPCID_t
Type for the ID number.
std::vector< LArDetectorGap > LArDetectorGapList
drift volume class to hold properties of drift volume
PlaneGeo const & Plane(TPCID const &tpcid, View_t view) const
Returns the specified wire.
TPCGeo const & TPC(TPCID const &tpcid=details::tpc_zero) const
Returns the specified TPC.
Helper functions for extracting detector geometry for use in reconsruction.
art framework interface to geometry description
drift volume class to hold properties of drift volume