DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
#include <DCH_info.h>
Classes | |
struct | DCH_info_layer |
Internal helper struct for defining the layer layout. More... | |
Public Types | |
using | DCH_layer = int |
type for layer number More... | |
using | DCH_length_t = double |
tpye for lengths More... | |
using | DCH_angle_t = double |
tpye for angles More... | |
Public Member Functions | |
void | Set_lhalf (DCH_length_t _dch_Lhalf) |
void | Set_rin (DCH_length_t _dch_rin) |
void | Set_rout (DCH_length_t _dch_rout) |
void | Set_guard_rin_at_z0 (DCH_length_t _dch_rin_z0_guard) |
void | Set_guard_rout_at_zL2 (DCH_length_t _dch_rout_zL2_guard) |
void | Set_ncell0 (int _ncell0) |
void | Set_ncell_increment (int _ncell_increment) |
void | Set_nlayersPerSuperlayer (int _nlayersPerSuperlayer) |
void | Set_nsuperlayers (int _nsuperlayers) |
void | Set_ncell_per_sector (int _ncell_per_sector) |
void | Set_twist_angle (DCH_length_t _dch_twist_angle) |
void | Set_first_width (double _first_width) |
void | Set_first_sense_r (double _first_sense_r) |
int | Get_ncells (int ilayer) |
DCH_angle_t | Get_phi_width (int ilayer) |
Get phi width for the twisted tube and the step (phi distance between cells) More... | |
DCH_angle_t | Get_cell_phi_angle (int ilayer, int nphi) |
int | Get_nsuperlayer_minus_1 (int ilayer) |
DCH_length_t | Radius_zLhalf (DCH_length_t r_z0) const |
Calculate radius at z=L/2 given at z=0. More... | |
DCH_angle_t | stereoangle_z0 (DCH_length_t r_z0) const |
tan(stereoangle) = R(z=0) / (L/2) * tan( twist_angle/2) More... | |
DCH_angle_t | stereoangle_zLhalf (DCH_length_t r_zLhalf) const |
tan(stereoangle) = R(z=L/2) / (L/2) * sin( twist_angle/2) More... | |
DCH_length_t | WireLength (int nlayer, DCH_length_t r_z0) const |
WireLength = 2*dch_Lhalf/cos(atan(Pitch_z0(r_z0)/(2*dch_Lhalf)))/cos(stereoangle_z0(r_z0)) More... | |
bool | IsDatabaseEmpty () const |
void | BuildLayerDatabase () |
void | Show_DCH_info_database (std::ostream &io) const |
Public Attributes | |
DCH_length_t | Lhalf = {0} |
Half length of the active volume. More... | |
DCH_length_t | rin = {0} |
Inner radius of the active volume. More... | |
DCH_length_t | rout = {0} |
Outer radius of the active volume. More... | |
DCH_length_t | guard_inner_r_at_z0 = {0} |
Inner guard wires radius. More... | |
DCH_length_t | guard_outer_r_at_zL2 = {0} |
Outer guard wires radius. More... | |
int | ncell0 = {0} |
number of cells of first layer More... | |
int | ncell_increment = {0} |
int | ncell_per_sector = {0} |
cells within the same layer may be grouped into sectors, not in use atm More... | |
DCH_layer | nlayersPerSuperlayer = {0} |
input number of layers in each superlayer More... | |
DCH_layer | nsuperlayers = {0} |
DCH_layer | nlayers = {0} |
Calculated as dch_nlayersPerSuperlayer * dch_nsuperlayers. More... | |
DCH_angle_t | twist_angle = {0} |
double | first_width = {0} |
Cell width for the first layer. More... | |
DCH_length_t | first_sense_r = {0} |
Cell radius for the first layer. More... | |
std::map< DCH_layer, DCH_info_layer > | database |
map to store parameters for each layer More... | |
Definition at line 31 of file DCH_info.h.
using dd4hep::rec::DCH_info_struct::DCH_angle_t = double |
tpye for angles
Definition at line 41 of file DCH_info.h.
using dd4hep::rec::DCH_info_struct::DCH_layer = int |
type for layer number
Definition at line 37 of file DCH_info.h.
using dd4hep::rec::DCH_info_struct::DCH_length_t = double |
tpye for lengths
Definition at line 39 of file DCH_info.h.
|
inline |
nlayers = nsuperlayers * nlayersPerSuperlayer default: 112 = 14 * 8
Definition at line 188 of file DCH_info.h.
|
inline |
phi positioning, adding offset for odd ilayers there is a staggering in phi for alternating layers, 0.25*cell_phi_width*(ilayer%2);
Definition at line 112 of file DCH_info.h.
|
inline |
Get number of cells in a given layer ncells = number of wires/2
Definition at line 105 of file DCH_info.h.
|
inline |
calculate superlayer for a given ilayer. WARNING: division of integers on purpose!
Definition at line 116 of file DCH_info.h.
|
inline |
Get phi width for the twisted tube and the step (phi distance between cells)
Definition at line 108 of file DCH_info.h.
|
inline |
Definition at line 178 of file DCH_info.h.
|
inline |
Calculate radius at z=L/2 given at z=0.
Definition at line 119 of file DCH_info.h.
|
inline |
Definition at line 100 of file DCH_info.h.
|
inline |
Definition at line 99 of file DCH_info.h.
|
inline |
Definition at line 86 of file DCH_info.h.
|
inline |
Definition at line 87 of file DCH_info.h.
|
inline |
Definition at line 82 of file DCH_info.h.
|
inline |
Definition at line 89 of file DCH_info.h.
|
inline |
Definition at line 90 of file DCH_info.h.
|
inline |
Definition at line 95 of file DCH_info.h.
|
inline |
Definition at line 92 of file DCH_info.h.
|
inline |
Definition at line 93 of file DCH_info.h.
|
inline |
Definition at line 83 of file DCH_info.h.
|
inline |
Definition at line 84 of file DCH_info.h.
|
inline |
Definition at line 97 of file DCH_info.h.
|
inline |
Definition at line 287 of file DCH_info.h.
|
inline |
tan(stereoangle) = R(z=0) / (L/2) * tan( twist_angle/2)
Definition at line 124 of file DCH_info.h.
|
inline |
tan(stereoangle) = R(z=L/2) / (L/2) * sin( twist_angle/2)
Definition at line 129 of file DCH_info.h.
|
inline |
WireLength = 2*dch_Lhalf/cos(atan(Pitch_z0(r_z0)/(2*dch_Lhalf)))/cos(stereoangle_z0(r_z0))
Definition at line 134 of file DCH_info.h.
std::map<DCH_layer, DCH_info_layer> dd4hep::rec::DCH_info_struct::database |
map to store parameters for each layer
Definition at line 177 of file DCH_info.h.
DCH_length_t dd4hep::rec::DCH_info_struct::first_sense_r = {0} |
Cell radius for the first layer.
Definition at line 80 of file DCH_info.h.
double dd4hep::rec::DCH_info_struct::first_width = {0} |
Cell width for the first layer.
Definition at line 78 of file DCH_info.h.
DCH_length_t dd4hep::rec::DCH_info_struct::guard_inner_r_at_z0 = {0} |
Inner guard wires radius.
Definition at line 50 of file DCH_info.h.
DCH_length_t dd4hep::rec::DCH_info_struct::guard_outer_r_at_zL2 = {0} |
Outer guard wires radius.
Definition at line 52 of file DCH_info.h.
DCH_length_t dd4hep::rec::DCH_info_struct::Lhalf = {0} |
Half length of the active volume.
Definition at line 43 of file DCH_info.h.
int dd4hep::rec::DCH_info_struct::ncell0 = {0} |
number of cells of first layer
Definition at line 55 of file DCH_info.h.
int dd4hep::rec::DCH_info_struct::ncell_increment = {0} |
increment the number of cells for each superlayer as: ncells(ilayer) = dch_ncell0 + increment*superlayer(ilayer) See DCH_info::Get_nsuperlayer_minus_1(ilayer)
Definition at line 59 of file DCH_info.h.
int dd4hep::rec::DCH_info_struct::ncell_per_sector = {0} |
cells within the same layer may be grouped into sectors, not in use atm
Definition at line 62 of file DCH_info.h.
DCH_layer dd4hep::rec::DCH_info_struct::nlayers = {0} |
Calculated as dch_nlayersPerSuperlayer * dch_nsuperlayers.
Definition at line 71 of file DCH_info.h.
DCH_layer dd4hep::rec::DCH_info_struct::nlayersPerSuperlayer = {0} |
input number of layers in each superlayer
Definition at line 65 of file DCH_info.h.
DCH_layer dd4hep::rec::DCH_info_struct::nsuperlayers = {0} |
input number of superlayers superlayer is an abstract level of grouping layers used to parametrize the increment of cells in each layer
Definition at line 69 of file DCH_info.h.
DCH_length_t dd4hep::rec::DCH_info_struct::rin = {0} |
Inner radius of the active volume.
Definition at line 45 of file DCH_info.h.
DCH_length_t dd4hep::rec::DCH_info_struct::rout = {0} |
Outer radius of the active volume.
Definition at line 47 of file DCH_info.h.
DCH_angle_t dd4hep::rec::DCH_info_struct::twist_angle = {0} |
global twist angle alternating layers will change its sign
Definition at line 75 of file DCH_info.h.