 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ISF_FASTCALOSIMEVENT_TFCSBinnedShower_h
6 #define ISF_FASTCALOSIMEVENT_TFCSBinnedShower_h
8 #include <RtypesCore.h>
91 std::vector<long unsigned int> &
layers,
92 bool only_load_meta_data =
false);
107 long unsigned int layer_index,
108 const std::vector<unsigned int>& bin_index_vector,
109 const std::vector<float>& E_vector);
113 std::vector<float>& R_lower, std::vector<float>& R_size,
114 std::vector<float>& alpha_lower,
115 std::vector<float>& alpha_size);
121 long unsigned int reference_layer_index,
122 float eta_center,
float phi_center);
136 const std::vector<std::vector<std::vector<std::vector<float>>>>&
146 std::vector<std::vector<std::vector<std::vector<float>>>> &
147 sub_bin_distribution,
148 std::vector<float>& upscaling_energies) {
158 float e_init,
long unsigned int reference_layer_index)
const override;
164 long unsigned int layer_index)
const override;
172 long unsigned int layer_index)
const override;
178 long unsigned int hit_index)
const override;
220 long unsigned int reference_layer_index,
221 bool phi_mod_matching)
const;
224 long unsigned int layer_index,
225 int bin_index)
const;
232 std::vector<std::vector<std::vector<std::vector<float>>>>
237 float &alpha_min,
float &alpha_max,
238 long unsigned int layer_index,
int bin_index)
const;
241 long unsigned int layer_index,
242 long unsigned int hit_index)
const;
246 const std::string &
filename,
const std::string &datasetname);
249 long unsigned int layer_index);
252 long unsigned int layer_index);
virtual long unsigned int get_n_hits(TFCSSimulationState &simulstate, long unsigned int layer_index) const override
void set_hdf5_path(const std::string &filename)
void load_shower_center_information(const std::string &filename)
void load_sub_bin_distribution(const std::string &filename)
void load_event_library(const std::string &filename, std::vector< long unsigned int > &layers, bool only_load_meta_data=false)
std::vector< layer_bins_t > event_bins_t
std::vector< float > m_upscaling_energies
void enable_event_cherry_picking()
virtual ~TFCSBinnedShower()
void load_bin_boundaries(const std::string &filename, long unsigned int layer_index)
const std::vector< std::vector< std::vector< std::vector< float > > > > & get_sub_bin_distribution() const
long unsigned int find_best_match(float eta_center, float phi_center, float e_init, long unsigned int reference_layer_index, bool phi_mod_matching) const
void set_layer_energy(long unsigned int event_index, long unsigned int layer_index, const std::vector< unsigned int > &bin_index_vector, const std::vector< float > &E_vector)
void set_event_library(eventvector_t &eventlibrary)
void disable_eta_matching()
virtual float get_layer_energy(TFCSSimulationState &simulstate, long unsigned int layer_index) const override
float get_default_hit_energy() const
void set_sub_bin_distribution_and_energies(std::vector< std::vector< std::vector< std::vector< float >>>> &sub_bin_distribution, std::vector< float > &upscaling_energies)
std::vector< unsigned int > bin_index_vector
void set_max_hits_per_voxel(int max_hits)
void upscale(TFCSSimulationState &simulstate, float &R_min, float &R_max, float &alpha_min, float &alpha_max, long unsigned int layer_index, int bin_index) const
virtual void delete_event(TFCSSimulationState &simulstate) const override
void set_bin_boundaries(long unsigned int layer_index, std::vector< float > &R_lower, std::vector< float > &R_size, std::vector< float > &alpha_lower, std::vector< float > &alpha_size)
const long unsigned int m_n_layers
std::vector< event_t > eventvector_t
virtual void get_event(TFCSSimulationState &simulstate, float eta_center, float phi_center, float e_init, long unsigned int reference_layer_index) const override
do not persistify
const std::vector< float > & get_upscaling_energies() const
virtual std::tuple< float, float, float > get_hit_position_and_energy(TFCSSimulationState &simulstate, long unsigned int layer_index, long unsigned int hit_index) const override
virtual void compute_n_hits_and_elayer(TFCSSimulationState &simulstate) const
std::vector< float > R_size
std::vector< float > R_lower
const event_bins_t & get_coordinates()
std::vector< float > E_vector
void load_layer_energy(const std::string &filename, long unsigned int layer_index)
eventvector_t m_eventlibrary
std::vector< float > alpha_lower
void set_coordinates(event_bins_t &coordinates)
const eventvector_t & get_eventlibrary()
void set_shower_center_information(long unsigned int event_index, long unsigned int reference_layer_index, float eta_center, float phi_center)
void disable_event_cherry_picking()
std::vector< float > alpha_size
void enable_eta_matching()
virtual bool is_match_Ekin_bin(int) const override
int get_max_hits_per_voxel() const
std::tuple< std::vector< float >, std::vector< hsize_t >, bool > load_hdf5_dataset(const std::string &filename, const std::string &datasetname)
void disable_event_matching()
std::vector< std::vector< std::vector< std::vector< float > > > > m_sub_bin_distribution
bool m_use_event_matching
std::vector< layer_t > event_data
float m_default_hit_energy
event_bins_t m_coordinates
void set_default_hit_energy(float energy)
bool m_use_event_cherry_picking
TFCSBinnedShower(const char *name=nullptr, const char *title=nullptr)
void enable_event_matching()
const std::string & get_hdf5_path() const
long unsigned int get_energy_index(TFCSSimulationState &simulstate, long unsigned int layer_index, long unsigned int hit_index) const