11#include <geometry/CreatorBase.h>
13#include <framework/gearbox/GearDir.h>
14#include <simulation/kernel/SensitiveDetectorBase.h>
23 class ECLCrystalsShapeAndPosition;
70 void barrel(G4LogicalVolume&);
84 const G4VisAttributes*
att(
const std::string& n)
const;
98 std::map<std::string, G4VisAttributes*>
m_atts;
Crystal shapes and positions.
void barrel(G4LogicalVolume &)
Make the ECL barrel and then place elements inside it.
void defineVisAttributes()
Define visual attributes.
Simulation::SensitiveDetectorBase * m_sensediode
Sensitive diode.
double get_pa_box_height() const
Getter for preamplifier box height (hard-coded to be 2)
const G4VisAttributes * att(const std::string &n) const
Define visual attributes.
virtual void createFromDB(const std::string &name, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override
Function to create the geometry from the Database.
virtual void createPayloads(const GearDir &content, const IntervalOfValidity &iov) override
Function to create the geometry database.
void backward(G4LogicalVolume &)
Place elements inside the backward endcap.
~GeoECLCreator()
The destructor of the GeoECLCreator class.
const ECLCrystalsShapeAndPosition * m_sap
pointer to a storage with crystal shapes and positions
std::map< std::string, G4VisAttributes * > m_atts
Vector of background-Sensitive detectors.
Simulation::SensitiveDetectorBase * m_sensitive
Sensitive detector.
G4LogicalVolume * get_preamp() const
Get Logical volume of preamplifier.
G4LogicalVolume * wrapped_crystal(const shape_t *s, const std::string &endcap, double wrapthickness)
Wrapped crystal.
void forward(G4LogicalVolume &)
Place elements inside the forward endcap.
GeoECLCreator()
Constructor of the GeoECLCreator class.
virtual void create(const GearDir &content, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override
Function to actually create the geometry, has to be overridden by derived classes.
GearDir is the basic class used for accessing the parameter store.
A class that describes the interval of experiments/runs for which an object in the database is valid.
Base class for all Sensitive Detectors to create hits during simulation.
Pure virtual base class for all geometry creators.
GeometryTypes
Flag indiciating the type of geometry to be used.
Abstract base class for different kinds of events.