|
R3BROOT
R3B analysis software
|
NeuLAND detector simulation class. More...
#include <R3BNeuland.h>
Public Member Functions | |
| R3BNeuland () | |
| Default constructor. | |
| R3BNeuland (const TString &geoFile, const TGeoTranslation &trans, const TGeoRotation &rot=TGeoRotation()) | |
| Standard constructor. | |
| R3BNeuland (const TString &geoFile, const TGeoCombiTrans &combi=TGeoCombiTrans()) | |
| Standard constructor. | |
| R3BNeuland (int nDP, const TGeoTranslation &trans, const TGeoRotation &rot=TGeoRotation()) | |
| Standard constructor. | |
| R3BNeuland (int nDP, const TGeoCombiTrans &combi=TGeoCombiTrans()) | |
| Standard constructor. | |
| void | EnableAutoGeoBuild (bool is_enabled=true) |
| Enable the automatic geometry build for NeuLAND. | |
| void | SetLocationDirection (const TGeoCombiTrans &pos) |
| Set the translation and rotation of the NeuLAND detector. | |
Private Member Functions | |
| auto | ProcessHits (FairVolume *=nullptr) -> bool override |
| void | EndOfEvent () override |
| void | FinishEvent () override |
| void | Print (Option_t *="") const override |
| void | Reset () override |
| auto | CheckIfSensitive (std::string name) -> bool override |
| auto | GetCollection (int iColl) const -> TClonesArray *override |
| void | Register () override |
| void | reset_values () |
| void | write_parameter_file () |
| void | ConstructGeometry () override |
| void | Initialize () override |
| void | create_geo () |
| void | create_geo_from_root_file () |
| ClassDefOverride (R3BNeuland, 4) | |
Private Attributes | |
| bool | is_geo_auto_built = false |
| Flag to check if geo-build is needed. | |
| bool | is_last_hit_done_ = false |
| Flag to check if last hit finished. | |
| int | num_of_planes_ = R3B::Neuland::MaxNumberOfPlanes |
| The number of planes. | |
| int | track_id_ = 0 |
| A buffer for the track IDs. | |
| int | paddle_id_ = 0 |
| A buffer for the paddle ids. | |
| int | particle_id_ = 0 |
| A buffer for the particle IDs. | |
| int | parent_particle_id_ = 0 |
| A buffer for the parent particle IDs. | |
| double | time_ = 0. |
| A buffer for time values. | |
| double | length_ = 0. |
| A buffer for track lengths. | |
| double | energy_loss_ = 0. |
| A buffer for the energy losses. | |
| double | light_yield_ = 0. |
| A buffer for the light yields. | |
| TLorentzVector | pos_in_ |
| A buffer for the position where the track goes into the volume. | |
| TLorentzVector | pos_out_ |
| A buffer for the position where the track goes out of the volume. | |
| TLorentzVector | mom_in_ |
| A buffer for the momentum when the track goes into the volume. | |
| TLorentzVector | mom_out_ |
| A buffer for the position when the track goes out of the volume. | |
| std::unique_ptr< TClonesArray > | tca_points_buffer_ = std::make_unique<TClonesArray>(R3BNeulandPoint::Class()) |
| The TCA data buffer used to be returned by virtual method GetCollection(int iColl). | |
| R3B::OutputVectorConnector< R3BNeulandPoint > | neuland_points_ { "NeulandPoints" } |
| Output data written to the ROOT file. | |
| R3BNeulandGeoPar * | neuland_geo_par_ = nullptr |
| Output parameter containing the geometry information. | |
| R3B::Neuland::Geometry::Creator | geo_creator_ |
| Creating NeuLAND geometry if EnableAutoGeoBuild() is enabled. | |
| TGeoCombiTrans | rot_trans_ |
| Rotation and tranlation of NeuLAND detector. | |
| std::string | geo_file_ |
| Geometry file name. The file must be present if EnableAutoGeoBuild() is disabled. | |
| std::map< int, int > | track_pid_map_ |
| A map with the track ID as the key and the particle ID as the value. | |
For each simulated event, a vector data with name "NeulandPoints" is filled:
Suitable geometry files require proper naming of the active volume (see CheckIfSensitive()) and copy numbers.
Definition at line 48 of file R3BNeuland.h.
| R3BNeuland::R3BNeuland | ( | ) |
Definition at line 70 of file R3BNeuland.cxx.
| R3BNeuland::R3BNeuland | ( | const TString & | geoFile, |
| const TGeoTranslation & | trans, | ||
| const TGeoRotation & | rot = TGeoRotation() ) |
| geoFile | name of the ROOT geometry file |
| trans | position |
| rot | rotation |
Definition at line 75 of file R3BNeuland.cxx.
|
explicit |
| geoFile | name of the ROOT geometry file |
| combi | position + rotation |
Definition at line 80 of file R3BNeuland.cxx.
| R3BNeuland::R3BNeuland | ( | int | nDP, |
| const TGeoTranslation & | trans, | ||
| const TGeoRotation & | rot = TGeoRotation() ) |
| nDP | number of double planes |
| trans | position |
| rot | rotation |
Definition at line 87 of file R3BNeuland.cxx.
|
explicit |
| nDP | number of double planes |
| combi | position + rotation |
Definition at line 92 of file R3BNeuland.cxx.
|
overrideprivate |
Definition at line 189 of file R3BNeuland.cxx.
|
private |
|
overrideprivate |
Definition at line 274 of file R3BNeuland.cxx.
|
private |
Definition at line 286 of file R3BNeuland.cxx.
|
private |
Definition at line 309 of file R3BNeuland.cxx.
|
inline |
Automatically build the NeuLAND geometry without a geometry file. The geometry build is done in the class R3B::Neuland::Geometry::Creator. If this is disabled, an geometry file corresponding to the number of double plane must be present.
| is_enabled | Whether the geometry build should be enabled or not. |
Definition at line 84 of file R3BNeuland.h.
|
overrideprivate |
Definition at line 191 of file R3BNeuland.cxx.
|
overrideprivate |
Definition at line 200 of file R3BNeuland.cxx.
|
nodiscardoverrideprivate |
Definition at line 263 of file R3BNeuland.cxx.
|
overrideprivate |
Definition at line 98 of file R3BNeuland.cxx.
|
overrideprivate |
Definition at line 210 of file R3BNeuland.cxx.
|
overrideprivate |
Definition at line 108 of file R3BNeuland.cxx.
|
overrideprivate |
Definition at line 272 of file R3BNeuland.cxx.
|
overrideprivate |
Definition at line 215 of file R3BNeuland.cxx.
|
private |
Definition at line 223 of file R3BNeuland.cxx.
|
inline |
Set the translation and rotation of the NeuLAND detector using parameter with the type TGeoCombiTrans. This will override the value specified by the constructors.
| pos | Input tranlation and rotation matrix. |
Definition at line 94 of file R3BNeuland.h.
|
private |
Definition at line 238 of file R3BNeuland.cxx.
|
private |
Definition at line 108 of file R3BNeuland.h.
|
private |
Definition at line 122 of file R3BNeuland.h.
|
private |
Definition at line 126 of file R3BNeuland.h.
|
private |
Definition at line 97 of file R3BNeuland.h.
|
private |
Definition at line 98 of file R3BNeuland.h.
|
private |
Definition at line 107 of file R3BNeuland.h.
|
private |
Definition at line 109 of file R3BNeuland.h.
|
private |
Definition at line 112 of file R3BNeuland.h.
|
private |
Definition at line 113 of file R3BNeuland.h.
|
private |
Definition at line 120 of file R3BNeuland.h.
|
private |
Definition at line 118 of file R3BNeuland.h.
|
private |
Definition at line 99 of file R3BNeuland.h.
|
private |
Definition at line 103 of file R3BNeuland.h.
|
private |
Definition at line 105 of file R3BNeuland.h.
|
private |
Definition at line 104 of file R3BNeuland.h.
|
private |
Definition at line 110 of file R3BNeuland.h.
|
private |
Definition at line 111 of file R3BNeuland.h.
|
private |
Definition at line 124 of file R3BNeuland.h.
|
private |
Definition at line 116 of file R3BNeuland.h.
|
private |
Definition at line 106 of file R3BNeuland.h.
|
private |
Definition at line 102 of file R3BNeuland.h.
|
private |
Used to find the parent particle ID of the current track,
Definition at line 129 of file R3BNeuland.h.