52 R3BNeuland(
const TString& geoFile,
const TGeoTranslation& trans,
const TGeoRotation& rot = TGeoRotation());
57 explicit R3BNeuland(
const TString& geoFile,
const TGeoCombiTrans& combi = TGeoCombiTrans());
63 R3BNeuland(
int nDP,
const TGeoTranslation& trans,
const TGeoRotation& rot = TGeoRotation());
68 explicit R3BNeuland(
int nDP,
const TGeoCombiTrans& combi = TGeoCombiTrans());
91 bool is_geo_auto_built =
false;
92 bool is_last_hit_done_ =
false;
99 int parent_particle_id_ = 0;
102 double energy_loss_ = 0.;
103 double light_yield_ = 0.;
104 TLorentzVector pos_in_;
105 TLorentzVector pos_out_;
106 TLorentzVector mom_in_;
107 TLorentzVector mom_out_;
110 std::unique_ptr<TClonesArray> tca_points_buffer_ = std::make_unique<TClonesArray>(R3BNeulandPoint::Class());
114 R3BNeulandGeoPar* neuland_geo_par_ =
nullptr;
116 R3B::Neuland::Geometry::Creator geo_creator_;
118 TGeoCombiTrans rot_trans_;
120 std::string geo_file_;
123 std::map<int, int> track_pid_map_;
127 auto ProcessHits(FairVolume* =
nullptr) ->
bool override;
133 void Print(Option_t* =
"")
const override;
135 void Reset()
override;
139 [[nodiscard]]
auto GetCollection(
int iColl)
const -> TClonesArray*
override;
147 void write_parameter_file();
157 void create_geo_from_root_file();