BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
DCHgeometryconstants_bmn.h
Go to the documentation of this file.
1#ifndef DCHGEOMETRYCONSTANTS_BMN_H
2#define DCHGEOMETRYCONSTANTS_BMN_H
3
4#include "TMath.h"
5
6// Beam entering position
7// static Double_t beamPos[3] = {0.,0.,-210.};
8/*static Double_t beamPos[3][numRunPeriods] = {
9 {0.,0.,-210.};
10 {0.,0.,-210.};
11 {0.,0.,0.};
12 {0.,0.,0.};
13 {0.,0.,0.};
14 {0.,0.,-210.};
15 {0.,0.,0.};
16 }*/
17// Basic detector parameters
18const UShort_t numChambers = 2; // number of drift chambers
19const UShort_t numLayers = 8; // number of anode wire planes in the drift chamber
20const UShort_t numLayers_half = numLayers / 2; // half number of anode wire planes in the drift chamber
21const UShort_t twoNumLayers = numLayers * numChambers; // number of anode wire planes in both the drift chambers
22const UShort_t ngaps = numLayers / 2 - 1; // number of gaps in the drift chamber
23// const UShort_t dimzarray=numChambers*numLayers; // number of anode wire planes in the drift chambers
25
26// const UShort_t runType=1; // run type: 1,2,3
27// Detector's position
28// const Double_t deflectAngle = 0.3/5.7 ;
29// const Double_t deflectAngle = 0. ;
30// const Double_t angleXZ = 0.029845130209; //1.9 grad = 1.71 degree
31// const Double_t angleXZ = 0.04712389; //2.7 degree
32// const Double_t angleXZ = -0.04712389; //2.7 degree
33// const Double_t angleXZ = 0.087266463; //5 degrees
34const Double_t angleXZ = 0.0; // 0. grad = 0. degree
35// static Double_t DCH1_Xpos[numRunPeriods] = {0.,0.,0.,0.,0.,0.,0.};
36// static Double_t DCH1_Ypos[numRunPeriods] = {0.,0.,0.,0.,0.,0.,0.};
37// static Double_t DCH1_Xpos[numRunPeriods] = {0.,0.,0.,0.,0.,-39.381,0.};
38// static Double_t DCH1_Ypos[numRunPeriods] = {0.,0.,0.,0.,0.,1.2917,0.};
39const Double_t DCH1_Zpos[numRunPeriods] = {610., 610., 662.05, 0., 0., 515.5, 0.}; // cm
40// const Double_t DCH1_Zpos[3] = {550.0,637.85,637.85}; //cm
41// static Double_t DCH2_Xpos[numRunPeriods] = {0.,0.,0.,0.,0.,0.,0.};
42// static Double_t DCH2_Ypos[numRunPeriods] = {0.,0.,0.,0.,0.,0.,0.};
43// static Double_t DCH2_Xpos[numRunPeriods] = {0.,0.,0.,0.,0.,-41.299,0.};
44// static Double_t DCH2_Ypos[numRunPeriods] = {0.,0.,0.,0.,0.,2.2445,0.};
45const Double_t DCH2_Zpos[numRunPeriods] = {720., 720., 772.05, 0., 0., 715., 0.}; // cm
46// Double_t DCH2_Zpos[3] = {650.0,748.35,748.35}; //cm
47// const Double_t DCH2_Zpos[3] = {650.0,673.,748.35}; //cm
48
49// const Double_t DCH_ZlayerPos_local[numLayers] = {-7.8, -6.6, -3.0, -1.8, 1.8, 3.0, 6.6, 7.8}; // position of gas
50// volumes (layers) within DCH
51const Double_t DCH_ZlayerPos_local[numLayers] = {7.8, 6.6, 3.0, 1.8, -1.8,
52 -3.0, -6.6, -7.8}; // position of gas volumes (layers) within DCH
53// const Double_t DCH_ZlayerPos_local[numLayers] = {3.0, 1.8, 7.8, 6.6, -6.6, -7.8, -1.8, -3.0}; // position of gas
54// volumes (layers) within DCH const Double_t DCH_ZlayerPos_local[numLayers] = {9.3, 8.1, 3.5, 2.3, -2.3, -3.5, -8.1,
55// -9.3}; // position of gas volumes (layers) within DCH const Double_t DCH_ZlayerPos_local[numLayers] =
56// {10.2, 9., 3.8, 2.6, -2.6, -3.8, -9., -10.2}; // position of gas volumes (layers) within DCH const Double_t
57// DCH_ZlayerPos_local[numLayers] = {-9.3, -8.1, -3.5, -2.3, 2.3, 3.5, 8.1, 9.3}; // position of gas volumes (layers)
58// within DCH
59
60// const Double_t DCH1_ZlayerPos_global[numLayers] =
61// {DCH_ZlayerPos_local[0]+DCH1_Zpos,DCH_ZlayerPos_local[1]+DCH1_Zpos,DCH_ZlayerPos_local[2]+DCH1_Zpos,DCH_ZlayerPos_local[3]+DCH1_Zpos,DCH_ZlayerPos_local[4]+DCH1_Zpos,DCH_ZlayerPos_local[5]+DCH1_Zpos,DCH_ZlayerPos_local[6]+DCH1_Zpos,DCH_ZlayerPos_local[7]+DCH1_Zpos};
62// // position of gas volumes (layers) of DCH1 in laboratory CS const Double_t DCH2_ZlayerPos_global[numLayers] =
63// {DCH_ZlayerPos_local[0]+DCH2_Zpos,DCH_ZlayerPos_local[1]+DCH2_Zpos,DCH_ZlayerPos_local[2]+DCH2_Zpos,DCH_ZlayerPos_local[3]+DCH2_Zpos,DCH_ZlayerPos_local[4]+DCH2_Zpos,DCH_ZlayerPos_local[5]+DCH2_Zpos,DCH_ZlayerPos_local[6]+DCH2_Zpos,DCH_ZlayerPos_local[7]+DCH2_Zpos};
64// // position of gas volumes (layers) of DCH2 in laboratory CS
65
66// Detector's construct parameters
67const Double_t angleLayer[numLayers] = {0., 0., 90., 90.,
68 45., 45., -45., -45.}; // angles of inclined wires, degrees // for exp.
69// const Double_t angleLayer[numLayers] = {-45., -45., 45., 45., 90., 90., 0., 0.}; // angles of inclined wires, degrees
70// // for exp. const Double_t angleLayer[numLayers] = {0., 0., 90., 90., -45., -45., 45., 45.}; // angles of inclined
71// wires, degrees // for sim. const Double_t angleStereoRad=angleStereo*TMath::DegToRad();
78 cos(angleLayerRad[5]), cos(angleLayerRad[6]), cos(angleLayerRad[7])}; // x direction cosines of inclined wires
81 sin(angleLayerRad[5]), sin(angleLayerRad[6]), sin(angleLayerRad[7])}; // y direction cosines of inclined wires
82
83const Double_t ZLength_DCH = 20.0;
87// const Double_t DCH1_ZlayerPos_global_End[numLayers] =
88// {DCH1_ZlayerPos_global[0]+ZhalfLength_DCHActiveVolume,DCH1_ZlayerPos_global[1]+ZhalfLength_DCHActiveVolume,DCH1_ZlayerPos_global[2]+ZhalfLength_DCHActiveVolume,DCH1_ZlayerPos_global[3]+ZhalfLength_DCHActiveVolume,DCH1_ZlayerPos_global[4]+ZhalfLength_DCHActiveVolume,DCH1_ZlayerPos_global[5]+ZhalfLength_DCHActiveVolume,DCH1_ZlayerPos_global[6]+ZhalfLength_DCHActiveVolume,DCH1_ZlayerPos_global[7]+ZhalfLength_DCHActiveVolume};
89// // ends of gas volumes (layers) of DCH1 in laboratory CS const Double_t DCH2_ZlayerPos_global_End[numLayers] =
90// {DCH2_ZlayerPos_global[0]+ZhalfLength_DCHActiveVolume,DCH2_ZlayerPos_global[1]+ZhalfLength_DCHActiveVolume,DCH2_ZlayerPos_global[2]+ZhalfLength_DCHActiveVolume,DCH2_ZlayerPos_global[3]+ZhalfLength_DCHActiveVolume,DCH2_ZlayerPos_global[4]+ZhalfLength_DCHActiveVolume,DCH2_ZlayerPos_global[5]+ZhalfLength_DCHActiveVolume,DCH2_ZlayerPos_global[6]+ZhalfLength_DCHActiveVolume,DCH2_ZlayerPos_global[7]+ZhalfLength_DCHActiveVolume};
91// // ends of gas volumes (layers) of DCH2 in laboratory CS
93
96
99
100// const UShort_t numWiresPerLayer = 256;
103// const Double_t stepXY=2.*MaxRadiusOfActiveVolume/Double_t(numWiresPerLayer);
104const Double_t stepXY = 1.;
106const Int_t detIdDch1 = 13;
107const Int_t detIdDch2 = 17;
108// const Double_t diagonal=sqrt(stepXYhalf*stepXYhalf+ZhalfLength_DCHActiveVolume*ZhalfLength_DCHActiveVolume);
109
110#endif
unsigned short UShort_t
int Int_t
unsigned int UInt_t
double Double_t
const Double_t MaxRadiusOfActiveVolume
const Double_t dirCosLayerY[numLayers]
const Double_t DCH2_Zpos[numRunPeriods]
const Double_t HoleSize_DCH
const UShort_t numLayers_half
const Double_t SideLengthOfOctagon
const Int_t detIdDch1
const Double_t InnerRadiusOfOctagon
const Double_t dirCosLayerX[numLayers]
const Double_t angleLayerRad[numLayers]
const Double_t MinRadiusOfActiveVolume
const UShort_t numChambers
const UShort_t twoNumLayers
const Double_t ZhalfLength_DCHActiveVolume_W
const UShort_t ngaps
const UShort_t numLayers
const UShort_t numRunPeriods
const Double_t ZLength_DCHActiveVolume
const Double_t stepXYhalf
const UInt_t numWiresPerLayer
const UInt_t halfNumWiresPerLayer
const Double_t DCH_ZlayerPos_local[numLayers]
const Double_t DCH1_Zpos[numRunPeriods]
const Double_t ZhalfLength_DCHActiveVolume
const Double_t ZLength_DCH
const Double_t angleXZ
const Int_t detIdDch2
const Double_t angleLayer[numLayers]
const Double_t stepXY
RVec< PromoteType< T > > cos(const RVec< T > &v)
RVec< PromoteType< T > > sin(const RVec< T > &v)
constexpr Double_t DegToRad()