// ------------------------------------------------------------------------- // ----- CbmTrdPads header file ----- // ----- Created 03/12/2009 by D. Emschermann ----- // ------------------------------------------------------------------------- // // v2.4 - 20120511 DE - v12f - modify sector size of mod1 to look different from mod2 // v2.3 - 20120511 DE - v12c mod5 decrease pad size to 3.0 cm2 from 4.5 cm2 // v2.2 - 20120511 DE - v12[b-x] - define layout for trd1mod[1-8] in common station1 // v2.1 - 20120117 DE - v11x/v12x - even number of rows // v2.0 - 20120116 DE - v11x/v12x - 7.5mm width, variable size, max 10^7 Hz/pad // v1.9 - 20110914 DE - v11x - 7.5 mm pad width -10 cm2 // v1.8 - 20110914 DE - v11x - 7.5 mm pad width - 6 cm2 // v1.7 - 20110914 DE - v11x - 7.5 mm pad width - 4 cm2 // v1.6 - 20110914 DE - v11x - 7.5 mm pad width - 3 cm2 // v1.5 - 20110914 DE - v11x - 7.5 mm pad width - 2 cm2 // v1.4 - 20110616 DE - adapted to v11X with variable frame size - 570 mm and 960 mm - 7.5 mm pad width - 1 cm2 // v1.3 - 20110616 DE - adapted to v11X with variable frame size - 570 mm and 960 mm - 5.0 mm pad width - 1 cm2 // v1.2 - 20110524 DE - adapted to v11X (May11) with 24 TRD in the inner zone // v1.1 - 20110523 DE - 5x20 mm2 sized pads almost everywhere, tracking test // v1.0 - 20100708 DE - reduce pad size in trd1mod1-2 to 20/30 from 30/35 // and in trd1mod3-1 to 80/80 from 95/100 // v0.9 - 20100601 DE - improve pad size ballance in trd1mod1-2 to 30/35 from 30/40 // v0.8 - 20100601 DE - implement 5 sectors per module for code testing // v0.7 - 20100531 DE - implement 3 sectors of n*0.5 mm long pads per module // v0.6 - 20100530 DE - implement 2 sectors with identical pads per module // v0.5 - 20100525 DE - reduce the pad length in trd1mod1-2 of station 1 // to 30.67 mm // v0.4 - 20100520 FU - Implemented modules with single sector and same // pad geometry as in version 0.3 // v0.3 - 20100511 DE - 5 mm pad width everywhere, fractional pad length // v0.2 - 20091207 DE - fixed typo in pad x size in large module // v0.1 - 20091204 DE - initial version #ifndef CBMTRDPADS_H #define CBMTRDPADS_H #include #include using std::vector; using std::map; using std::pair; // v2.4 Int_t fst1_sect_count = 3; Float_t fst1_pad_type[8][3][4] = // array of pad geometries in the TRD (trd1mod[1-8]) { { { 57., 27., .75, 1.5 }, { 57., 3., .75, 1.5 }, { 57., 27., .75, 1.5 } }, // mod1 // 1.1 cm2 // 18 x 15 mm + 2 x 15 mm + 18 x 15 mm, 76 * 38 = 2888 pads { { 57., 21., .75, 3.0 }, { 57., 15., .75, 2.5 }, { 57., 21., .75, 3.0 } }, // mod2 // 2.1 cm2 // 7 x 30 mm + 6 x 25 mm + 7 x 30 mm, 76 * 20 = 1520 pads { { 57., 12., .75, 6.0 }, { 57., 33., .75, 5.5 }, { 57., 12., .75, 6.0 } }, // mod3 // 4.5 cm2 // 2 x 60 mm + 6 x 55 mm + 2 x 60 mm, 76 * 10 = 760 pads { { 57., 12., .75, 6.0 }, { 57., 33., .75, 5.5 }, { 57., 12., .75, 6.0 } }, // mod4 as mod3 // 4.5 cm2 // 2 x 60 mm + 6 x 55 mm + 2 x 60 mm, 76 * 10 = 760 pads // { { 57., 19., .75, 9.5 }, // { 57., 19., .75, 9.5 }, // { 57., 19., .75, 9.5 } }, // // mod4 // // 7.1 cm2 // // 2 x 95 mm + 2 x 95 mm + 2 x 95 mm, 76 * 6 = 456 pads //--- { { 96., 44., .75, 4.0 }, { 96., 8., .75, 4.0 }, { 96., 44., .75, 4.0 } }, // mod5 // 3.0 cm2 // 11 x 40 mm + 2 x 40 mm + 11 x 40 mm, 128 * 24 = 3072 pads { { 96., 40., .75, 8.0 }, { 96., 16., .75, 8.0 }, { 96., 40., .75, 8.0 } }, // mod6 // 6.0 cm2 // 5 x 80 mm + 2 x 80 mm + 5 x 80 mm, 128 * 12 = 1536 pads { { 96., 36., .75, 12.0 }, { 96., 24., .75, 12.0 }, { 96., 36., .75, 12.0 } }, // mod7 // 9.0 cm2 // 3 x 120 mm + 2 x 120 mm + 3 x 120 mm, 128 * 8 = 1024 pads { { 96., 32., .75, 16.0 }, { 96., 32., .75, 16.0 }, { 96., 32., .75, 16.0 } } }; // mod8 // 12.0 cm2 // 2 x 160 mm + 2 x 160 mm + 2 x 160 mm, 128 * 6 = 768 pads Int_t fst2_sect_count = 3; // keep for historical reasons - used in CbmTrdCreateDigiPar.cxx Float_t fst2_pad_type[1][1][4]; // keep for historical reasons - used in CbmTrdCreateDigiPar.cxx Int_t fst3_sect_count = 3; // keep for historical reasons - used in CbmTrdCreateDigiPar.cxx Float_t fst3_pad_type[1][1][4]; // keep for historical reasons - used in CbmTrdCreateDigiPar.cxx typedef map > VectorMap; typedef map MapOfVectorMap; MapOfVectorMap GetModuleInfoMap() { vector moduleType1Station1(100, 0); vector moduleType2Station1(100, 1); vector moduleType3Station1(100, 2); vector moduleType4Station1(100, 3); vector moduleType5Station1(100, 4); vector moduleType6Station1(100, 5); vector moduleType7Station1(100, 6); vector moduleType8Station1(100, 7); VectorMap moduleTypeMapStation1; moduleTypeMapStation1.insert( pair >(1, moduleType1Station1)); moduleTypeMapStation1.insert( pair >(2, moduleType2Station1)); moduleTypeMapStation1.insert( pair >(3, moduleType3Station1)); moduleTypeMapStation1.insert( pair >(4, moduleType4Station1)); moduleTypeMapStation1.insert( pair >(5, moduleType5Station1)); moduleTypeMapStation1.insert( pair >(6, moduleType6Station1)); moduleTypeMapStation1.insert( pair >(7, moduleType7Station1)); moduleTypeMapStation1.insert( pair >(8, moduleType8Station1)); vector moduleType1Station2(100, 0); vector moduleType2Station2(100, 1); vector moduleType3Station2(100, 2); vector moduleType4Station2(100, 3); vector moduleType5Station2(100, 4); vector moduleType6Station2(100, 5); vector moduleType7Station2(100, 6); vector moduleType8Station2(100, 7); VectorMap moduleTypeMapStation2; moduleTypeMapStation2.insert( pair >(1, moduleType1Station2)); moduleTypeMapStation2.insert( pair >(2, moduleType2Station2)); moduleTypeMapStation2.insert( pair >(3, moduleType3Station2)); moduleTypeMapStation2.insert( pair >(4, moduleType4Station2)); moduleTypeMapStation2.insert( pair >(5, moduleType5Station2)); moduleTypeMapStation2.insert( pair >(6, moduleType6Station2)); moduleTypeMapStation2.insert( pair >(7, moduleType7Station2)); moduleTypeMapStation2.insert( pair >(8, moduleType8Station2)); vector moduleType1Station3(100, 0); vector moduleType2Station3(100, 1); vector moduleType3Station3(100, 2); vector moduleType4Station3(100, 3); vector moduleType5Station3(100, 4); vector moduleType6Station3(100, 5); vector moduleType7Station3(100, 6); vector moduleType8Station3(100, 7); VectorMap moduleTypeMapStation3; moduleTypeMapStation3.insert( pair >(1, moduleType1Station3)); moduleTypeMapStation3.insert( pair >(2, moduleType2Station3)); moduleTypeMapStation3.insert( pair >(3, moduleType3Station3)); moduleTypeMapStation3.insert( pair >(4, moduleType4Station3)); moduleTypeMapStation3.insert( pair >(5, moduleType5Station3)); moduleTypeMapStation3.insert( pair >(6, moduleType6Station3)); moduleTypeMapStation3.insert( pair >(7, moduleType7Station3)); moduleTypeMapStation3.insert( pair >(8, moduleType8Station3)); map moduleTypeStationMap; moduleTypeStationMap.insert( pair(1, moduleTypeMapStation1)); moduleTypeStationMap.insert( pair(2, moduleTypeMapStation2)); moduleTypeStationMap.insert( pair(3, moduleTypeMapStation3)); return moduleTypeStationMap; } #endif