EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
IrtGeoPFRICH.h
Go to the documentation of this file.
1// Copyright (C) 2022, 2023, Christopher Dilks
2// Subject to the terms in the LICENSE file found in the top-level directory.
3
4// bind IRT and DD4hep geometries for the pfRICH
5#pragma once
6
7#include <DD4hep/Detector.h>
8#include <DDRec/CellIDPositionConverter.h>
9#include <IRT/CherenkovPhotonDetector.h>
10#include <IRT/ParametricSurface.h>
11#include <spdlog/logger.h>
12#include <gsl/pointers>
13#include <memory>
14#include <string>
15
16#include "IrtGeo.h"
17
18namespace richgeo {
19class IrtGeoPFRICH : public IrtGeo {
20
21public:
22 IrtGeoPFRICH(gsl::not_null<const dd4hep::Detector*> det_,
23 gsl::not_null<const dd4hep::rec::CellIDPositionConverter*> conv_,
24 std::shared_ptr<spdlog::logger> log_)
25 : IrtGeo("PFRICH", det_, conv_, log_) {
27 }
29
30protected:
31 void DD4hep_to_IRT() override;
32
33private:
34 // FIXME: should be smart pointers, but IRT methods sometimes assume ownership of such raw pointers
35 FlatSurface* m_surfEntrance;
36 CherenkovPhotonDetector* m_irtPhotonDetector;
37 FlatSurface* m_aerogelFlatSurface;
38 FlatSurface* m_filterFlatSurface;
39 FlatSurface* m_sensorFlatSurface;
40};
41} // namespace richgeo
Definition IrtGeoPFRICH.h:19
IrtGeoPFRICH(gsl::not_null< const dd4hep::Detector * > det_, gsl::not_null< const dd4hep::rec::CellIDPositionConverter * > conv_, std::shared_ptr< spdlog::logger > log_)
Definition IrtGeoPFRICH.h:22
void DD4hep_to_IRT() override
Definition IrtGeoPFRICH.cc:31
~IrtGeoPFRICH()
Definition IrtGeoPFRICH.cc:204
Definition IrtGeo.h:26
Definition ActsGeo.h:18