CHECK: now it is the passive dimensions m_R_i_Cgem = m_CgemLayer[0]->getInnerROfCgemLayer(); m_R_o_Cgem = m_CgemSeparator->getOuterROfSeparator(); // m_CgemLayer[m_N_CgemLayer-1]->getOuterROfCgemLayer(); // CHECK m_L_Cgem = m_CgemSeparator->getLengthOfSeparator(); // m_CgemLayer[m_N_CgemLayer-1]->getLengthOfCgemLayer(); // CHECK
141 {
142 cout.precision(10);
143
144
145 string geoFilePath = getenv("CGEMGEOMSVCROOT");
146
147 cout << "IFILE " << m_iFile << endl;
148
149 switch (m_iFile){
150 case 1 :
151 geoFilePath += "/dat/cgem_model_1_default.txt";
152 break;
153 case 2 :
154 geoFilePath += "/dat/cgem_model_2_default.txt";
155 break;
156 case 3 :
157 geoFilePath += "/dat/cgem_model_3_default.txt";
158 break;
159 case 4 :
160 geoFilePath += "/dat/cgem_model_4_default.txt";
161 break;
162 default :
163 cout << "Warning in CgemGeomSvc::initGeom(): The geometry will be constructed through default model!" << endl;
164 geoFilePath += "/dat/cgem_model_4_default.txt";
165 break;
166 }
167 cout << "INFO in CgemGeomSvc::initGeom(): Geometry will be constructed through File: "
168 << geoFilePath << endl;
169
170
171 ifstream fin(geoFilePath.c_str(), ios::in);
172 if (!fin.good())
173 {
174 cout << "Error in CgemGeomSvc::initGeom(): Fail to open geomtry file: " << endl;
175 cout << geoFilePath << endl;
176 return false;
177 }
178 string strcom;
179
180
181 cout << left << "=======get BesMdcGeoParameter from CgemGeomSvc=======" << endl;
182
183
184 std::getline(fin, strcom);
185 std::getline(fin, strcom);
186 fin >> m_N_CgemLayer
187 >> m_N_GemFoil;
188 cout << "N_CgemLayer : " << left << setw(8) << m_N_CgemLayer
189 << "N_GemFoil : " << left << setw(8) << m_N_GemFoil << endl;
190 std::getline(fin, strcom);
191 std::getline(fin, strcom);
192 std::getline(fin, strcom);
193 double rLayer, lenLayer, numSheet, wSheet, aStereo, wPitchX, wPitchV, wStripX, wStripV, nChannelX, nChannelV;
194 double phi_start[3][2], dX_start_strip[3][2], dV_start_strip[3][2];
195 for (int i=0; i < m_N_CgemLayer; i++)
196 {
197 fin >> rLayer >> lenLayer >> numSheet >> wSheet >> aStereo >> wPitchX >> wPitchV
198 >> wStripX >> wStripV >> nChannelX >> nChannelV
199 >> phi_start[i][0] >> phi_start[i][1]
200 >> dX_start_strip[i][0] >> dX_start_strip[i][1]
201 >> dV_start_strip[i][0] >> dV_start_strip[i][1]
202 >> m_T_Gap_D[i] >> m_Orientation;
203
204
205
207
220 std::getline(fin, strcom);
221 }
222
223
224 std::getline(fin, strcom);
225 std::getline(fin, strcom);
226 fin >> m_N_Cathode_Materials
227 >> m_T_Cathode_Kapton1 >> m_T_Cathode_Epoxy1 >> m_T_Cathode_Rohacell1 >> m_T_Cathode_Epoxy2
228 >> m_T_Cathode_Kapton2 >> m_T_Cathode_Epoxy3 >> m_T_Cathode_Rohacell2 >> m_T_Cathode_Epoxy4
229 >> m_T_Cathode_Kapton3 >> m_T_Cathode_Cu;
230
232 cout << "Error : CgemGeomSvc::initGeom(), Number of materials in Cathode is wrong!" << endl;
233 cout <<
"It must be less than " <<
N_MATERIAL_MAX <<
" and is " << m_N_Cathode_Materials << endl;
234 cout << "please, either increase N_MATERIAL_MAX or decrease m_N_Cathode_Materials" << endl;
235 return false;
236 }
237
238 m_T_Cathode = m_T_Cathode_Kapton1 + m_T_Cathode_Epoxy1 + m_T_Cathode_Rohacell1 + m_T_Cathode_Epoxy2 + m_T_Cathode_Kapton2 + m_T_Cathode_Epoxy3 + m_T_Cathode_Rohacell2 + m_T_Cathode_Epoxy4 + m_T_Cathode_Kapton3 + m_T_Cathode_Cu;
239
240
241 std::getline(fin, strcom);
242 std::getline(fin, strcom);
243 std::getline(fin, strcom);
244 fin >> m_T_Gap_T1 >> m_T_Gap_T2 >> m_T_Gap_I;
245
246
247 std::getline(fin, strcom);
248 std::getline(fin, strcom);
249 std::getline(fin, strcom);
250 fin >> m_N_GemFoil_Materials
251 >> m_T_GemFoil_Cu1 >> m_T_GemFoil_Kapton >> m_T_GemFoil_Cu2
252 >> m_R_i_GemFoil_Hole >> m_R_o_GemFoil_Hole >> m_L_GemFoil_Hole;
253
255 cout << "Error : CgemGeomSvc::initGeom(), Number of materials in GemFoil is wrong!" << endl;
256 cout <<
"It must be less than " <<
N_MATERIAL_MAX <<
" and is " << m_N_GemFoil_Materials << endl;
257 cout << "please, either increase N_MATERIAL_MAX or decrease m_N_GemFoil_Materials" << endl;
258 return false;
259 }
260
261 m_T_GemFoil = m_T_GemFoil_Cu1 + m_T_GemFoil_Kapton + m_T_GemFoil_Cu2;
262
263
264 std::getline(fin, strcom);
265 std::getline(fin, strcom);
266 std::getline(fin, strcom);
267
268 fin >> m_N_Anode_Materials
269 >> m_T_Anode_Cu1 >> m_T_Anode_Kapton1 >> m_T_Anode_Cu2 >> m_T_Anode_Epoxy1
270 >> m_T_Anode_Kapton2 >> m_T_Anode_Epoxy2 >> m_T_Anode_Rohacell1
271 >> m_T_Anode_Epoxy3 >> m_T_Anode_Kapton3 >> m_T_Anode_Epoxy4
272 >> m_T_Anode_Rohacell2 >> m_T_Anode_Epoxy5 >> m_T_Anode_Cu3 >> m_T_Anode_Kapton4 >> m_B_strip_x_on >> m_B_strip_v_on;
273
275 cout << "Error : CgemGeomSvc::initGeom(), Number of materials in Anode is wrong!" << endl;
276 cout <<
"It must be less than " <<
N_MATERIAL_MAX <<
" and is " << m_N_Anode_Materials << endl;
277 cout << "please, either increase N_MATERIAL_MAX or decrease m_N_Anode_Materials" << endl;
278 return false;
279 }
280
281 m_T_Anode = m_T_Anode_Cu1 + m_T_Anode_Kapton1 + m_T_Anode_Cu2 + m_T_Anode_Epoxy1
282 + m_T_Anode_Kapton2 + m_T_Anode_Epoxy2 + m_T_Anode_Rohacell1
283 + m_T_Anode_Epoxy3 + m_T_Anode_Kapton3 + m_T_Anode_Epoxy4
284 + m_T_Anode_Rohacell2 + m_T_Anode_Epoxy5 + m_T_Anode_Cu3 + m_T_Anode_Kapton4;
285
286
287 cout << "thickness: cathode " << m_T_Cathode << " gem " << m_T_GemFoil << " anode " << m_T_Anode << endl;
288
289
290 std::getline(fin, strcom);
291 std::getline(fin, strcom);
292 fin >> m_Rho_Cable;
293 cout << "cable density " << m_Rho_Cable << endl;
294
295
296 std::getline(fin, strcom);
297 std::getline(fin, strcom);
298 std::getline(fin, strcom);
299
300 fin >> m_R_in_Separator >> m_R_out_Separator >> m_L_Separator;
301
302 std::getline(fin, strcom);
303 std::getline(fin, strcom);
304 fin >> m_T_Separator_Al1 >> m_T_Separator_CarFib >> m_T_Separator_Al2;
305
307 m_CgemSeparator->
setInnerR(m_R_in_Separator);
308 m_CgemSeparator->
setOuterR(m_R_out_Separator);
309 m_CgemSeparator->
setLength(m_L_Separator);
313
314
315
316 std::getline(fin, strcom);
317 std::getline(fin, strcom);
318 std::getline(fin, strcom);
319 fin >> m_R_i_Cgem >> m_R_o_Cgem >> m_L_Cgem;
320
321 std::getline(fin, strcom);
322 std::getline(fin, strcom);
323 std::getline(fin, strcom);
324 fin >> m_passive;
325
326 cout << "Cgem passive elements are switched " << m_passive << endl;
327
328 for (int i=0; i < m_N_CgemLayer; i++) {
329
330 m_T_CgemLayer[i] = m_T_Cathode + m_T_Gap_D[i] + m_T_Gap_T1 + m_T_Gap_T2 + m_T_Gap_I
331 + m_T_GemFoil*3 + m_T_Anode;
332
333
334 cout << left << "R_CgemLayer " << left << "L_CgemLayer "
335 << left << "N_Sheet " << left << "W_Sheet "
336 << left << "A_Stereo " << left << "W_Pitch_X "
337 << left << "W_Pitch_V "<< left << "W_Strip_X "
338 << left << "W_Strip_V "<< left << "N_Channel_Phi "
339 << left << "N_Channel_V " << left << "Orientation " << endl;
352
353 cout << left << "T_Cathode " << left << "T_GemFoil " << left << "T_Anode "
354 << left << "T_CgemLayer " << endl;
355 cout << left << setw(10) << m_T_Cathode << left << setw(10) << m_T_GemFoil
356 << left << setw(8) << m_T_Anode << left << setw(9) << m_T_CgemLayer[i] << endl;
357
360 cout << "thickness " << m_T_CgemLayer[i] << endl;
361
362 }
363
364 for (int i=0; i < m_N_CgemLayer; i++) {
365
366
367
369 m_CgemLayer[i]->
setOuterROfCgemLayer(m_CgemLayer[i]->getInnerROfCgemLayer() + m_T_CgemLayer[i]);
370
371
373 if(fReversed == false) {
375 m_CgemLayer[i]->
setOuterROfCathode( m_CgemLayer[i]->getInnerROfCgemLayer() + m_T_Cathode);
376 } else {
378 m_CgemLayer[i]->
setInnerROfCathode( m_CgemLayer[i]->getOuterROfCgemLayer() - m_T_Cathode);
379 }
380
382
385 double m_t_cathode_list[
N_MATERIAL_MAX] = {m_T_Cathode_Kapton1, m_T_Cathode_Epoxy1, m_T_Cathode_Rohacell1, m_T_Cathode_Epoxy2, m_T_Cathode_Kapton2, m_T_Cathode_Epoxy3, m_T_Cathode_Rohacell2, m_T_Cathode_Epoxy4, m_T_Cathode_Kapton3, m_T_Cathode_Cu};
386
388 int counter = 0;
389 if(fReversed == true) counter = m_N_Cathode_Materials - 1;
390
391 for(int imat = 0; imat < m_N_Cathode_Materials; imat++) {
392 outer_r_cathode[imat] = inner_r_cathode[imat] + m_t_cathode_list[counter];
393
394 switch(counter) {
395 case 0 :
398 break;
399 case 1 :
402 break;
403 case 2 :
406 break;
407 case 3 :
410 break;
411 case 4 :
414 break;
415 case 5 :
418 break;
419 case 6 :
422 break;
423 case 7 :
426 break;
427 case 8 :
430 break;
431 case 9 :
434
435 cout << " CATHODE CU INNER " << inner_r_cathode[imat] << " OUTER " << outer_r_cathode[imat] << endl;
436
437 break;
438 default:
439 break;
440 }
441
442
443 if(imat == m_N_Cathode_Materials - 1) {
444 cout << "breaking" << endl;
445 break;
446 }
447 inner_r_cathode[imat + 1] = outer_r_cathode[imat];
448 if(fReversed == false) counter++;
449 else counter--;
450 }
451
452
453 cout << "T_cathode: " << setw(15) << m_T_Cathode << setw(15)
454 << m_T_Cathode_Kapton1 << setw(15) << m_T_Cathode_Epoxy1
455 << setw(15) << m_T_Cathode_Rohacell1 << setw(15) << m_T_Cathode_Epoxy2
456 << setw(15) << m_T_Cathode_Kapton2 << setw(15) << m_T_Cathode_Epoxy3
457 << setw(15) << m_T_Cathode_Rohacell2 << setw(15) << m_T_Cathode_Epoxy4
458 << setw(15) << m_T_Cathode_Kapton3 << setw(15) << m_T_Cathode_Cu << endl;
459
482
483
484
485 if(fReversed == false) {
486 if (fabs((m_CgemLayer[i]->getOuterROfCathode() / m_CgemLayer[i]->getOuterROfCathodeCu()) - 1) > FLT_EPSILON){
487 cout << fabs(m_CgemLayer[i]->getOuterROfCathode() - m_CgemLayer[i]->getOuterROfCathodeCu()) << endl;
490 << ", FLT_EPSILON = " << FLT_EPSILON << endl;
491 cout << "Error : CgemGeomSvc::initGeom(), Cathode size is wrong!" << endl;
492 return false;
493 }
494 }
495 else {
496 if (fabs((m_CgemLayer[i]->getInnerROfCathode() / m_CgemLayer[i]->getInnerROfCathodeCu()) - 1) > FLT_EPSILON){
497 cout << fabs(m_CgemLayer[i]->getInnerROfCathode() - m_CgemLayer[i]->getInnerROfCathodeCu()) << endl;
500 << ", FLT_EPSILON = " << FLT_EPSILON << endl;
501 cout << "Error : CgemGeomSvc::initGeom(), Cathode size is wrong!" << endl;
502 return false;
503 }
504 }
505
506
507 if(fReversed == false) {
508 m_CgemLayer[i]->
setInnerROfGapD( m_CgemLayer[i]->getOuterROfCathode() );
509 m_CgemLayer[i]->
setOuterROfGapD( m_CgemLayer[i]->getOuterROfCathode() + m_T_Gap_D[i] );
510 m_CgemLayer[i]->
setInnerROfGapT1( m_CgemLayer[i]->getOuterROfGapD() + m_T_GemFoil );
511 m_CgemLayer[i]->
setOuterROfGapT1( m_CgemLayer[i]->getInnerROfGapT1() + m_T_Gap_T1 );
512 m_CgemLayer[i]->
setInnerROfGapT2( m_CgemLayer[i]->getOuterROfGapT1() + m_T_GemFoil );
513 m_CgemLayer[i]->
setOuterROfGapT2( m_CgemLayer[i]->getInnerROfGapT2() + m_T_Gap_T2 );
514 m_CgemLayer[i]->
setInnerROfGapI( m_CgemLayer[i]->getOuterROfGapT2() + m_T_GemFoil );
515 m_CgemLayer[i]->
setOuterROfGapI( m_CgemLayer[i]->getInnerROfGapI() + m_T_Gap_I );
516 }
517 else {
518 m_CgemLayer[i]->
setOuterROfGapD( m_CgemLayer[i]->getInnerROfCathode() );
519 m_CgemLayer[i]->
setInnerROfGapD( m_CgemLayer[i]->getInnerROfCathode() - m_T_Gap_D[i] );
520 m_CgemLayer[i]->
setOuterROfGapT1( m_CgemLayer[i]->getInnerROfGapD() - m_T_GemFoil );
521 m_CgemLayer[i]->
setInnerROfGapT1( m_CgemLayer[i]->getOuterROfGapT1() - m_T_Gap_T1 );
522 m_CgemLayer[i]->
setOuterROfGapT2( m_CgemLayer[i]->getInnerROfGapT1() - m_T_GemFoil );
523 m_CgemLayer[i]->
setInnerROfGapT2( m_CgemLayer[i]->getOuterROfGapT2() - m_T_Gap_T2 );
524 m_CgemLayer[i]->
setOuterROfGapI( m_CgemLayer[i]->getInnerROfGapT2() - m_T_GemFoil );
525 m_CgemLayer[i]->
setInnerROfGapI( m_CgemLayer[i]->getOuterROfGapI() - m_T_Gap_I );
526 }
527
528 cout << "Geom foil&gap " << setw(15) << m_T_Gap_D[i] << setw(15)
529 << m_T_GemFoil << setw(15) << m_T_Gap_T1
530 << setw(15) << m_T_Gap_T2 << setw(15) << m_T_Gap_I << endl;
531
532 cout << "gaps: -----------------------------" << endl;
541
542
543 if (m_N_GemFoil != 3){
544 cout << "Error : CgemGeomSvc::initGeom(), GemFoil number in code is 3! If m_N_GemFoil != 3,you should modify the code,especially the gap information!" << endl;
545 return false;
546 }
547
548 double R_i_GemFoil[3] = {0};
549 if(fReversed == false) {
553 }
554 else {
558 }
559
560 for(int j=0; j < m_N_GemFoil; j++){
562
564
565
568 double m_t_foil_list[
N_MATERIAL_MAX] = {m_T_GemFoil_Cu1, m_T_GemFoil_Kapton, m_T_GemFoil_Cu2};
569
570 inner_r_foil[0] = R_i_GemFoil[j];
571
572 if(fReversed == true) counter = m_N_GemFoil_Materials - 1;
573 else counter = 0;
574
575 for(int imat = 0; imat < m_N_GemFoil_Materials; imat++) {
576 outer_r_foil[imat] = inner_r_foil[imat] + m_t_foil_list[counter];
577
578 switch(counter) {
579 case 0 :
582 break;
583 case 1 :
586 break;
587 case 2 :
590 break;
591 default:
592 break;
593 }
594
595
596 if(imat == m_N_GemFoil_Materials - 1) {
597 cout << "breaking" << endl;
598 break;
599 }
600 inner_r_foil[imat + 1] = outer_r_foil[imat];
601 if(fReversed == false) counter++;
602 else counter--;
603 }
604
607
609
610 cout << "Geom foil: layer " << i << " " << j << endl;
611 cout << setw(15) << m_T_GemFoil_Cu1 << setw(15)
612 << m_T_GemFoil_Kapton << setw(15) << m_T_GemFoil_Cu2 << endl;
613
623 }
624
625
626 if(fReversed) {
627 cout << "GEM" << endl;
635 }
636 else {
637 cout << "GEM" << endl;
645 }
646
647
648 if(fReversed == false) {
650 m_CgemLayer[i]->
setOuterROfAnode( m_CgemLayer[i]->getOuterROfGapI() + m_T_Anode );
651 } else {
653 m_CgemLayer[i]->
setInnerROfAnode( m_CgemLayer[i]->getInnerROfGapI() - m_T_Anode);
654 }
655
657
658
659
662 double m_t_anode_list[
N_MATERIAL_MAX] = {m_T_Anode_Cu1, m_T_Anode_Kapton1, m_T_Anode_Cu2, m_T_Anode_Epoxy1, m_T_Anode_Kapton2, m_T_Anode_Epoxy2, m_T_Anode_Rohacell1, m_T_Anode_Epoxy3, m_T_Anode_Kapton3, m_T_Anode_Epoxy4, m_T_Anode_Rohacell2, m_T_Anode_Epoxy4, m_T_Anode_Cu3, m_T_Anode_Kapton4};
664
665 if(fReversed == true) counter = m_N_Anode_Materials - 1;
666 else counter = 0;
667
668 for(int imat = 0; imat < m_N_Anode_Materials; imat++) {
669 outer_r_anode[imat] = inner_r_anode[imat] + m_t_anode_list[counter];
670
671 switch(counter) {
672 case 0 :
675 break;
676 case 1 :
679 break;
680 case 2:
683 break;
684 case 3:
687 break;
688 case 4:
691 break;
692 case 5:
695 break;
696 case 6:
699 break;
700 case 7:
703 break;
704 case 8:
707 break;
708 case 9:
711 break;
712 case 10:
715 break;
716 case 11:
719 break;
720 case 12:
723 break;
724 case 13:
727 break;
728 default:
729 break;
730 }
731
732
733 if(imat == m_N_Anode_Materials - 1) {
734 cout << "breaking" << endl;
735 break;
736 }
737 inner_r_anode[imat + 1] = outer_r_anode[imat];
738 if(fReversed == false) counter++;
739 else counter--;
740 }
741
742 cout << "ANODE: " << endl;
773 cout << "X strip description is " << m_B_strip_x_on << " and V strip description is " << m_B_strip_v_on << endl;
774
775
776 if(fReversed == false) {
777 if(fabs((m_CgemLayer[i]->getOuterROfAnode() / m_CgemLayer[i]->getOuterROfCgemLayer())-1) > FLT_EPSILON){
778 cout << fabs(m_CgemLayer[i]->getOuterROfAnode() - m_CgemLayer[i]->getOuterROfCgemLayer()) << endl;
779 cout << FLT_EPSILON << endl;
780 cout << "Error : CgemLayer size is wrong!" << endl;
781 return false;
782 }
783 }
784 else {
785 if(fabs((m_CgemLayer[i]->getInnerROfAnode() / m_CgemLayer[i]->getInnerROfCgemLayer())-1) > FLT_EPSILON){
786 cout << fabs(m_CgemLayer[i]->getInnerROfAnode() - m_CgemLayer[i]->getInnerROfCgemLayer()) << endl;
787 cout << FLT_EPSILON << endl;
788 cout << "Error : CgemLayer size is wrong!" << endl;
789 return false;
790 }
791
792 }
793
794 m_CgemLayer[i]->
print();
795
799
800 if(fReversed) {
803 }
804 double width_sheet=rXstrips*CLHEP::twopi/nSheet;
805 cout<<"construct CgemReadoutPlanes: "<<endl;
806
807
808
809 for(int j=0; j<nSheet; j++){
810 cout<<"------ layer "<<i<<", sheet "<<j<<" ------ "<<endl;
811 double rStrips = 0.5*(rXstrips+rVstrips);
814 rXstrips, rVstrips,
815 phi_start[i][j], dX_start_strip[i][j],
816 dV_start_strip[i][j],
817 width_sheet,
818 -0.5*m_CgemLayer[i]->getLengthOfCgemLayer(),
819 m_CgemLayer[i]->getLengthOfCgemLayer(),
820 m_CgemLayer[i]->getNumberOfChannelX()/nSheet,
821 m_CgemLayer[i]->getNumberOfChannelV()/nSheet,
822 m_CgemLayer[i]->getWidthOfPitchX(),
823 m_CgemLayer[i]->getWidthOfStripX(),
824 m_CgemLayer[i]->getWidthOfPitchV(),
825 m_CgemLayer[i]->getWidthOfStripV(),
826 m_CgemLayer[i]->getAngleOfStereo(),
827 m_CgemLayer[i]->getMiddleROfGapD(),
828 m_CgemLayer[i]->getOuterROfGapD()
829 );
830 }
831
832 }
833
834 cout << "INFO : CgemGeomSvc::initGeom(), Successfully input geometry parameters!" << endl;
835
836
837
838
839
840
841 cout << "====================CGEM Information=========================" << endl;
842 cout << "R_i_Cgem " << "R_o_Cgem " << "L_Cgem" << endl;
843 cout << left << setw(10) << m_R_i_Cgem
844 << left << setw(10) << m_R_o_Cgem
845 << left << setw(10) << m_L_Cgem << endl;
846 cout << "====================CGEM Information End!====================" << endl;
847 cout << " " << endl;
848
849
850 cout << "************************ FINAL CHECK OF THE DIMENSIONS" << endl;
851 for(int ilayer = 0; ilayer < 3; ilayer++) {
852
853
854 cout <<
"inner global radius of layer" << ilayer <<
": " << m_CgemLayer[ilayer]->
getInnerROfCgemLayer()
858
859 for(int ifoil = 0; ifoil < 3; ifoil++) {
860 cout <<
"inner radius of gem" << ifoil <<
": " << m_foil[ilayer][ifoil]->
getInnerROfCgemFoil()
862 }
863
864 cout <<
"inner radius of anode: " << m_CgemLayer[ilayer]->
getInnerROfAnode()
866 }
867 cout << endl;
868
869 return true;
870}
double getOuterROfCgemFoilCu1() const
double getInnerROfCgemFoilCu2() const
void setIDOfCgemFoil(int id)
void setInnerROfCgemFoilKapton(double r)
void setOuterROfCgemFoilCu1(double r)
double getOuterROfCgemFoilKapton() const
void setInnerROfCgemFoilCu1(double r)
double getInnerROfCgemFoil() const
double getInnerROfCgemFoilCu1() const
void setOuterROfCgemFoilCu2(double r)
int getIDOfCgemFoil() const
void setInnerROfCgemFoilCu2(double r)
void setOuterROfCgemFoilKapton(double r)
double getInnerROfCgemFoilKapton() const
void setOuterROfCgemFoil(double r)
void setInnerROfCgemFoil(double r)
double getOuterROfCgemFoilCu2() const
double getOuterROfCgemFoil() const
void setWidthOfPitchV(double w)
void setWidthOfStripX(double w)
double getOuterROfAnodeCu1() const
void setInnerROfCathodeEpoxy3(double r)
void setAngleOfStereo(double a)
void setIDOfCgemLayer(int id)
void setOuterROfAnodeKapton4(double r)
void setInnerROfCathodeEpoxy4(double r)
double getInnerROfCathode() const
void setInnerROfCathodeCu(double r)
double getInnerROfAnodeEpoxy4() const
double getInnerROfAnodeEpoxy1() const
void setInnerROfAnodeRohacell2(double r)
void setOuterROfCathodeKapton3(double r)
double getInnerROfCathodeKapton2() const
void setOuterROfAnodeCu3(double r)
void setOuterROfAnodeKapton1(double r)
double getWidthOfPitchV() const
void setOuterROfAnodeRohacell2(double r)
double getOuterROfCathodeEpoxy4() const
double getInnerROfGapI() const
void setOuterROfAnode(double r)
void setOuterROfCathodeCu(double r)
double getWidthOfStripV() const
double getOuterROfGapD() const
void setOuterROfAnodeEpoxy5(double r)
void setOuterROfCathodeRohacell2(double r)
double getInnerROfCathodeKapton3() const
double getOuterROfAnodeEpoxy2() const
double getInnerROfGapT1() const
double getLengthOfCgemLayer() const
void setInnerROfAnodeCu2(double r)
double getOuterROfCathodeEpoxy1() const
void setOuterROfAnodeEpoxy3(double r)
double getInnerROfCathodeEpoxy2() const
double getOuterROfCathodeKapton1() const
double getInnerROfCathodeCu() const
void setOuterROfCathodeKapton2(double r)
void setInnerROfCathodeKapton2(double r)
void setOuterROfAnodeEpoxy1(double r)
double getOuterROfAnodeKapton2() const
double getInnerROfCathodeEpoxy4() const
double getOuterROfAnodeKapton1() const
void setInnerROfAnodeEpoxy5(double r)
double getInnerROfAnodeCu1() const
double getInnerROfAnodeKapton2() const
void setInnerROfGapD(double r)
void setOuterROfGapI(double r)
double getInnerROfCgemLayer() const
double getOuterROfCathodeEpoxy3() const
void setNumberOfChannelV(int n)
double getInnerROfAnode() const
double getInnerROfGapT2() const
void setCgemFoil(int i, CgemGeoFoil *pFoil)
double getWidthOfStripX() const
double getOuterROfAnodeRohacell1() const
void setInnerROfAnodeEpoxy2(double r)
void setOuterROfAnodeKapton2(double r)
double getOuterROfGapT1() const
void setOuterROfGapT2(double r)
double getOuterROfCathodeRohacell2() const
void setOuterROfCathodeKapton1(double r)
double getOuterROfGapT2() const
double getInnerROfAnodeCu3() const
void setInnerROfAnodeKapton1(double r)
double getOuterROfAnodeCu3() const
double getInnerROfCathodeEpoxy3() const
void setOuterROfAnodeKapton3(double r)
double getOuterROfAnodeKapton3() const
void setInnerROfCgemLayer(double innerR)
double getOuterROfAnode() const
double getOuterROfCathodeCu() const
void setInnerROfAnodeCu1(double r)
void setInnerROfGapT1(double r)
void setInnerROfGapI(double r)
double getOuterROfCathodeKapton3() const
int getNumberOfChannelX() const
double getInnerROfAnodeRohacell1() const
void setNumberOfSheet(int n)
void setInnerROfAnodeCu3(double r)
void setInnerROfAnode(double r)
int getNumberOfChannelV() const
void setInnerROfGapT2(double r)
double getOuterROfCathode() const
double getOuterROfAnodeEpoxy1() const
double getWidthOfSheet() const
double getInnerROfAnodeEpoxy2() const
void setOuterROfCathodeEpoxy4(double r)
double getOuterROfCathodeRohacell1() const
double getOuterROfAnodeEpoxy4() const
void setInnerROfCathodeRohacell1(double r)
void setOuterROfAnodeEpoxy2(double r)
void setInnerROfAnodeRohacell1(double r)
void setOuterROfGapT1(double r)
double getOuterROfGapI() const
void setOrientation(bool o)
void setOuterROfAnodeCu2(double r)
double getInnerROfAnodeRohacell2() const
void setInnerROfCathodeRohacell2(double r)
double getOuterROfCgemLayer() const
void setOuterROfCathodeRohacell1(double r)
void setInnerROfAnodeKapton4(double r)
void setInnerROfCathodeEpoxy1(double r)
double getAngleOfStereo() const
void setOuterROfCathodeEpoxy1(double r)
void setNumberOfChannelX(int n)
double getInnerROfAnodeEpoxy3() const
void setOuterROfCgemLayer(double outerR)
double getOuterROfAnodeEpoxy5() const
double getInnerROfCathodeKapton1() const
double getWidthOfPitchX() const
void setWidthOfStripV(double w)
double getInnerROfAnodeKapton3() const
double getInnerROfCathodeEpoxy1() const
double getInnerROfAnodeKapton4() const
void setOuterROfCathodeEpoxy2(double r)
bool getOrientation() const
void setInnerROfCathodeKapton1(double r)
void setLengthOfCgemLayer(double length)
void setInnerROfCathodeKapton3(double r)
void setInnerROfAnodeEpoxy1(double r)
void setInnerROfCathode(double r)
double getInnerROfAnodeEpoxy5() const
double getOuterROfAnodeCu2() const
double getInnerROfGapD() const
void setInnerROfAnodeKapton3(double r)
double getOuterROfAnodeEpoxy3() const
double getInnerROfAnodeKapton1() const
void setInnerROfCathodeEpoxy2(double r)
double getOuterROfCathodeEpoxy2() const
double getInnerROfAnodeCu2() const
void setOuterROfCathodeEpoxy3(double r)
double getOuterROfCathodeKapton2() const
double getOuterROfAnodeKapton4() const
void setInnerROfAnodeEpoxy3(double r)
double getInnerROfCathodeRohacell1() const
void setOuterROfGapD(double r)
void setOuterROfAnodeCu1(double r)
void setWidthOfSheet(double w)
void setOuterROfAnodeRohacell1(double r)
double getInnerROfCathodeRohacell2() const
void setWidthOfPitchX(double w)
void setInnerROfAnodeEpoxy4(double r)
void setOuterROfAnodeEpoxy4(double r)
double getOuterROfAnodeRohacell2() const
void setInnerROfAnodeKapton2(double r)
void setOuterROfCathode(double r)
void setInnerR(double innerR)
void setOuterR(double outerR)
void setLength(double length)
void setThickOfOuterAluminum(double thick)
void setThickOfCarbonFiber(double thick)
void setThickOfInnerAluminum(double thick)
static const int N_MATERIAL_MAX