setup_sis100_hadron.C 3.37 KB
Newer Older
Administrator's avatar
Administrator committed
1
2
3
4
5
6
7
8
9
10
/** ROOT macro to define the CBM setup sis100_hadron
 **
 ** Contains: MVD + STS + TRD + TOF + PSD
 **
 ** @author Volker Friese <v.friese@gsi.de>
 ** @author David Emschermann <d.emschermann@gsi.de>
 ** @date   5 February 2016
 **
 **/

Eoin Clerkin's avatar
Eoin Clerkin committed
11
// 2021-12-15 - EC - V&V all APR21 geometries are shifted by 40cm.
12
13
// 2020-04-23 - FU - Use exported TOF geometry v16d (same as v16c but
//                   different file format
Administrator's avatar
Administrator committed
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// 2017-11-24 - VF - New default v16g for STS (unit-based)
// 2017-11-20 - DE - use TRD v17n as new default
// 2017-05-22 - DE - use TRD v17c as new default
// 2016-06-27 - DE - use STS v16x as new default, see issue #647
// 2016-05-19 - VF - Add platform module
// 2016-02-25 - DE - use STS v16c as new default
// 2016-02-05 - VF - Replaces former sis100_hadron_setup.C,
//                   now using the CbmSetup class.
// 2015-12-11 - DE - use STS v15c as new default
// 2015-07-20 - FU - magnet v15a is v12b with correct keeping volume material
// 2015-07-20 - FU - add material budget files
// 2015-03-13 - DE - use STS v13y with correct ladder orientation as new default
// 2015-01-29 - DE - use chopped PIPE v14q as default
// 2015-01-19 - DE - use TRD v15a as new default
// 2014-06-30 - DE - make TRD v14a the new default
// 2014-06-25 - DE - define digi files through tags for STS, TRD and TOF
// 2013-11-05 - DE - switch to trd_v13p geometry
// 2013-10-11 - DE - add empty string defining the platform
// 2013-10-07 - DE - pipe_v13c.geo fixes overlap with TOF, fills RICH section
// 2013-11-04 - VF - make STS v15b the new default


void setup_sis100_hadron()
{

  // -----  Geometry Tags  --------------------------------------------------
Eoin Clerkin's avatar
Eoin Clerkin committed
40
  TString magnetGeoTag    = "v21a";
Eoin Clerkin's avatar
Eoin Clerkin committed
41
  TString pipeGeoTag      = "v16e_1e";
Eoin Clerkin's avatar
Eoin Clerkin committed
42
43
44
45
  TString mvdGeoTag       = "v20c_tr";
  TString stsGeoTag       = "v20a";
  TString trdGeoTag       = "v20c_1h";
  TString tofGeoTag       = "v20c_1h";
Eoin Clerkin's avatar
Eoin Clerkin committed
46
  TString psdGeoTag       = "v20c";
Administrator's avatar
Administrator committed
47
48
49
50
51
52
  TString platGeoTag      = "v13a";
  // ------------------------------------------------------------------------


  // -----  Magnetic field  -------------------------------------------------
  TString fieldTag      = "v18a";
Eoin Clerkin's avatar
Eoin Clerkin committed
53
  Double_t fieldZ       =  0.;            // field centre z position
Administrator's avatar
Administrator committed
54
55
56
57
58
59
60
61
62
63
64
  Double_t fieldScale   =  1.;            // field scaling factor
  // ------------------------------------------------------------------------

  // -----  Create setup  ---------------------------------------------------
  CbmSetup* setup = CbmSetup::Instance();
  if ( ! setup->IsEmpty() ) {
  	std::cout << "-W- setup_sis100_hadron: overwriting existing setup"
  			      << setup->GetTitle() << std::endl;
  	setup->Clear();
  }
  setup->SetTitle("SIS100 - Hadron Setup");
65
66
67
68
69
70
71
72
  setup->SetModule(ECbmModuleId::kMagnet, magnetGeoTag);
  setup->SetModule(ECbmModuleId::kPipe, pipeGeoTag);
  setup->SetModule(ECbmModuleId::kMvd, mvdGeoTag);
  setup->SetModule(ECbmModuleId::kSts, stsGeoTag);
  setup->SetModule(ECbmModuleId::kTrd, trdGeoTag);
  setup->SetModule(ECbmModuleId::kTof, tofGeoTag);
  setup->SetModule(ECbmModuleId::kPsd, psdGeoTag);
  setup->SetModule(ECbmModuleId::kPlatform, platGeoTag);
Administrator's avatar
Administrator committed
73
74
75
76
77
78
79
80
81
  setup->SetField(fieldTag, fieldScale, 0., 0., fieldZ);
  // ------------------------------------------------------------------------


  // -----   Screen output   ------------------------------------------------
  setup->Print();
  // ------------------------------------------------------------------------

}