Implementation of BeamCal in Mokka
Alexandra Popescu, Aura Rosca
West University of Timisoara
FCAL Collaboration Meeting
6-7 May, Krakow, Poland
7.05.2008
2
Overview
BeamCal: functionality and structure
Detector construction
Sensitive detectors
Summary
7.05.2008
3
BeamCal
half_barrel_ohne_rohr
Compact EM calorimeter with asandwich structure:
 30 layers of 1X0: 3.5 mm absorber and0.3 mm sensor
 Angular coverage: ~5-45 mrad
 Situated at 3450 mm from the IP
LDCv2_14mrad_zoom_3D
Purposes:
 Provide electron and photon identificationdown to polar angles of a few mrad
 Protect the inner part of the detector byreducing backscattering from inner parts
 Assisting beam diagnostics
7.05.2008
4
Mokka implementation
Create a local copy of the central database
Construct the geometry of the detector
Define the sensitive detectors
7.05.2008
5
Geometry construction
Drivers: C++ code
Databases: MySQL database
Sub-detectors: a combination of drivers anddatabases
7.05.2008
6
Drivers
A class which inherits from VSubDetectorDrivers class
class BeamCal00: public VSubDetectorDriver
The actual construction of the geometry is made by theContextualConstruct invoked by the geometry manager
G4bool ContextualConstruct(const CGAGeometryEnvironment &env,G4LogicalVolume *worldLog);
To be available the driver has to be created using the INSTANTIATEmacro available in “CGADefs.h”
#include "CGADefs.h"
INSTANTIATE(BeamCal00)
7.05.2008
7
Geometry data model
models03” database is composed of several tables:
detector_concept
ingredients
model
model_parameters
parameters
scripts
setup
setup_parameters
sharing
sub_detector
tmp_databases
7.05.2008
8
Geometry data model
model
name
description
detector_concept
model_status
sub_detector
id
name
db
driver
description
ingredients
id
model
sub_detector
build_order
sharing
driver
parameter
driver_default_value
7.05.2008
9
Database
Create a database, using a MySQL script, with the relevant geometry parameters forthe detector
CREATE DATABASE  `beamcalX01_14`;
USE beamcalX01_14;
DROP TABLE IF EXISTS `beamcal`;
CREATE TABLE `beamcal`(
`Rinner` double default NULL,
`Router` double default NULL,
`sPhi` double default NULL,
`dPhi` double default NULL,
`nWafers` double default NULL,
`BPmaxR` double default NULL
);
INSERT INTO `beamcal` (Rinner, Router, sPhi, dPhi, nWafers, BPmaxR)VALUES (20., 150., 200., 320., 8., 67.);
10
Connect the driver and the database to form a sub-detector:
Geometry construction
sub_detector
id
name
db
driver
description
 name: BeamCal
 driver: BeamCal00
 database: beamcalX01
Create a detector model that uses this sub-detector:
ingredients
id
model
sub_detector
build_order
 model: LDC01_05Sc
 sub_detector: BeamCal
Make the relevant geometry parameters known to the driver:
sharing
driver
parameter
driver_default_value
 driver: BeamCal00
 parameter: ILC_Main_Crossing_Angle(default value is 14 mrad)
model
name
description
detector_concept
model_status
7.05.2008
11
bc_forw
detail
Graphite (100 mm)
Air gap
Diamond
Kapton
Gold
Tungsten
Pair monitor
BeamCal Geometry
7.05.2008
12
14mrad_forw
Backward region
BeamCal Geometry
bcsegments
Segmentation:
 17 ring (r)
 8 sectors (phi)
 140 cells/sector
~ 8mm
7.05.2008
13
Sensitive detector
Hit class(es)
- CalHit (the generic hit class for calorimeters)
- TRKHit (implements a simple hit for the tracking devices)
Hit collection
Sensitive detector class
-has to inherit from the abstract class VSensitiveDetector
Register the sensitive detector object using theRegsiterSensitiveDetector() method
7.05.2008
14
Hits
hit_f
hit_b
Forward region
Backward region
7.05.2008
15
Simulation studies
e_etot
RM=11.8 ±0.4 mm
edep_logX
7.05.2008
16
Summary
Implemented in Mokka a realistic descriptionof BeamCal’s geometry
Moliere Radius = 11.8 mm (preliminary result)
LC TOOLS note in progress