62 "tracking_stations",
""),
64 "safe_material_init",
""));
Utility to generate material budget map from the TGeoNavigator representation of the Setup (implement...
Steer class for executing the material budget maps generator independently from tracking.
static constexpr double kTargetOffset
Offset from station boarders [scale].
InitStatus ReInit()
Re-initializer.
CbmGenerateMaterialMaps(const CbmGenerateMaterialMaps &)=delete
Copy constructor.
Config fConfig
Offset from target to start generating mat. maps [cm].
std::map< std::string, MaterialMap > fmMaterial
Material budget maps.
CbmGenerateMaterialMaps()
Default constructor.
static constexpr double kXYoffset
void Finish()
Finish function.
void SetUserConfig(const char *userConfig)
Sets user configuration file.
CbmGenerateMaterialMaps & operator=(const CbmGenerateMaterialMaps &)=delete
Copy assignment operator.
std::string fsOutputFile
Output file name.
CbmGenerateMaterialMaps(CbmGenerateMaterialMaps &&)=delete
Move constructor.
double fTargetZ
z-coordinate of the target center
void SetOutputName(const char *fileName)
Sets output file name.
virtual ~CbmGenerateMaterialMaps()=default
Destructor.
CbmGenerateMaterialMaps & operator=(CbmGenerateMaterialMaps &&)=delete
Move assignment operator.
std::unique_ptr<::kf::tools::MaterialMapFactory > fpMaterialFactory
Material factory instance.
InitStatus Init()
Initializer.
void WriteMaterialMaps()
Writes material budget maps to file.
const std::map< std::string, MaterialMap > & GetMaterial() const
Gets material map.
ClassDef(CbmGenerateMaterialMaps, 0)
std::string fsUserConfig
User configuration file.
A map of station thickness in units of radiation length (X0) to the specific point in XY plane.
bool fbParallelRays
Rays mode (false - radial, true - parallel to z-axis)
std::vector< MaterialSlice > fvUserSlices
Material slices defined by user.
bool fbTrackingStations
Generates material maps for the actual geometry stations.
bool fbSafeMaterialInit
Safe material initialization (takes extra computational time)
CBM_YAML_PROPERTIES(cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::Config::fvUserSlices, "user_slices", ""), cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::Config::fPitch, "pitch", ""), cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::Config::fMaxNofBins, "max_nof_bins", ""), cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::Config::fNofRays, "nof_rays", ""), cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::Config::fbParallelRays, "parallel_rays", ""), cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::Config::fbTrackingStations, "tracking_stations", ""), cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::Config::fbSafeMaterialInit, "safe_material_init", ""))
double fPitch
Minimal bin size (cm)
int fNofRays
Number of rays per dimension in each bin.
int fMaxNofBins
Number of bins in material budged map (x and y axes)
Input parameters for the material map generation.
double fMinZ
Lower bound along z-axis [cm].
double fRefZ
Reference z-coordinate [cm].
double fMaxZ
Upper bound along z-axis [cm].
double fMaxXY
Size in the transverse plane [cm].
CBM_YAML_PROPERTIES(cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::MaterialSlice::fName, "name", ""), cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::MaterialSlice::fRefZ, "ref_z", ""), cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::MaterialSlice::fMinZ, "min_z", ""), cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::MaterialSlice::fMaxZ, "max_z", ""), cbm::algo::yaml::Property(&CbmGenerateMaterialMaps::MaterialSlice::fMaxXY, "max_xy", ""))
bool operator<(const MaterialSlice &r) const