62 "tracking_stations",
""),
64 "safe_material_init",
""));
Utility to generate material budget map from the TGeoNavigator representation of the Setup (implement...
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.
cbm::algo::kf::MaterialMap MaterialMap
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::util::yaml::Property(&CbmGenerateMaterialMaps::Config::fvUserSlices, "user_slices", ""), cbm::util::yaml::Property(&CbmGenerateMaterialMaps::Config::fPitch, "pitch", ""), cbm::util::yaml::Property(&CbmGenerateMaterialMaps::Config::fMaxNofBins, "max_nof_bins", ""), cbm::util::yaml::Property(&CbmGenerateMaterialMaps::Config::fNofRays, "nof_rays", ""), cbm::util::yaml::Property(&CbmGenerateMaterialMaps::Config::fbParallelRays, "parallel_rays", ""), cbm::util::yaml::Property(&CbmGenerateMaterialMaps::Config::fbTrackingStations, "tracking_stations", ""), cbm::util::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].
CBM_YAML_PROPERTIES(cbm::util::yaml::Property(&CbmGenerateMaterialMaps::MaterialSlice::fName, "name", ""), cbm::util::yaml::Property(&CbmGenerateMaterialMaps::MaterialSlice::fRefZ, "ref_z", ""), cbm::util::yaml::Property(&CbmGenerateMaterialMaps::MaterialSlice::fMinZ, "min_z", ""), cbm::util::yaml::Property(&CbmGenerateMaterialMaps::MaterialSlice::fMaxZ, "max_z", ""), cbm::util::yaml::Property(&CbmGenerateMaterialMaps::MaterialSlice::fMaxXY, "max_xy", ""))
double fRefZ
Reference z-coordinate [cm].
double fMaxZ
Upper bound along z-axis [cm].
double fMaxXY
Size in the transverse plane [cm].
bool operator<(const MaterialSlice &r) const