Falaise  4.0.1
SuperNEMO Software Toolkit
calorimeter_step_hit_processor.h
Go to the documentation of this file.
1 /// \file falaise/snemo/simulation/calorimeter_step_hit_processor.h
2 /* Author(s) : Steven Calvez <calvez@lal.in2p3.fr>
3  * Creation date: 2014-04-15
4  * Last modified: 2014-04-15
5  *
6  * License:
7  *
8  * Description:
9  *
10  * A basic processor of simulated step hits in SuperNEMO calorimeter blocks.
11  *
12  * This algorithm clusterizes Geant4 step hits belonging to calorimeter
13  * blocks. This object inherits most of the functionalities of the generic
14  * 'calorimeter_step_hit_processor' from Bayeux/mctools library : it just
15  * overloads the search of block's geometry ID method by using geometry
16  * locators especially built for SuperNEMO.
17  *
18  * CAUTION: this processor can manage only one geometry mapping category
19  * so care should be taken to attach only one geometry model (with the proper
20  * mapping category) to this processor.
21  *
22  *
23  * History:
24  *
25  */
26 
27 #ifndef FALAISE_SNEMO_SIMULATION_CALORIMETER_STEP_HIT_PROCESSOR_H
28 #define FALAISE_SNEMO_SIMULATION_CALORIMETER_STEP_HIT_PROCESSOR_H 1
29 
30 // Third party:
31 // - Bayeux/mctools :
33 
34 namespace snemo {
35 
36 namespace geometry {
37 class locator_plugin;
38 }
39 
40 namespace simulation {
41 
42 /// \brief A basic processor of simulated step hits in SuperNEMO calorimeter blocks
44  public:
45  /// Find the Gid of the calorimeter block at a given position
46  virtual bool locate_calorimeter_block(const geomtools::vector_3d& position_,
47  geomtools::geom_id& gid_) const;
48 
49  /// Main setup routine
50  virtual void initialize(const ::datatools::properties& config_,
51  ::datatools::service_manager& service_mgr_);
52 
53  private:
54  const snemo::geometry::locator_plugin* _locator_plugin_; //!< SuperNEMO Locator plugin
55 
56  // Registration macro :
58 };
59 
60 } // end of namespace simulation
61 
62 } // end of namespace snemo
63 
64 #endif // FALAISE_SNEMO_SIMULATION_CALORIMETER_STEP_HIT_PROCESSOR_H
virtual void initialize(const ::datatools::properties &config_, ::datatools::service_manager &service_mgr_)
Main setup routine.
A geometry manager plugin with embedded SuperNEMO locators.
Definition: locator_plugin.h:40
A basic processor of simulated step hits in SuperNEMO calorimeter blocks.
Definition: calorimeter_step_hit_processor.h:43
Definition: calo_tapered_scin_box_model.h:54
CLHEP::Hep3Vector vector_3d
virtual bool locate_calorimeter_block(const geomtools::vector_3d &position_, geomtools::geom_id &gid_) const
Find the Gid of the calorimeter block at a given position.
#define MCTOOLS_STEP_HIT_PROCESSOR_REGISTRATION_INTERFACE(SHP_CLASS_NAME)