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.