setup_sis18_hadron.C 3.31 KB
Newer Older
Eoin Clerkin's avatar
Eoin Clerkin committed
1
2
/** ROOT macro to define the CBM setup sis18_hadron
 **
Eoin Clerkin's avatar
Eoin Clerkin committed
3
 ** Contains: STS + TOF
Eoin Clerkin's avatar
Eoin Clerkin committed
4
5
6
7
8
9
10
 **
 ** @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
// 2022-03-24 - DE - Prepare SIS18 setup: 5 downstream layers of STS + TOF @ 3.2 m
Eoin Clerkin's avatar
Eoin Clerkin committed
12
13
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
40
41
42
43
// 2022-02-17 - EC - Places PSD in its parking position
// 2021-12-15 - EC - Candidate DEC21 geometries for testing.
// 2020-04-23 - FU - Use exported TOF geometry v16d (same as v16c but
//                   different file format
// 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_sis18_hadron()
{

  // -----  Geometry Tags  --------------------------------------------------
  TString magnetGeoTag    = "v21a";
  TString pipeGeoTag      = "v21d";
Eoin Clerkin's avatar
Eoin Clerkin committed
44
  TString targetGeoTag    = "v22a";
Eoin Clerkin's avatar
Eoin Clerkin committed
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
  TString stsGeoTag       = "v21e_sis18";
  TString tofGeoTag       = "v21b_1h_sis18";
  TString platGeoTag      = "v22a";
  // ------------------------------------------------------------------------


  // -----  Magnetic field  -------------------------------------------------
  TString fieldTag      = "v18a";
  Double_t fieldZ       =  0.;            // field centre z position
  Double_t fieldScale   =  1.;            // field scaling factor
  // ------------------------------------------------------------------------

  // -----  Create setup  ---------------------------------------------------
  CbmSetup* setup = CbmSetup::Instance();
  if ( ! setup->IsEmpty() ) {
Eoin Clerkin's avatar
Eoin Clerkin committed
60
  	std::cout << "-W- setup_sis18_hadron: overwriting existing setup"
Eoin Clerkin's avatar
Eoin Clerkin committed
61
62
63
  			      << setup->GetTitle() << std::endl;
  	setup->Clear();
  }
Eoin Clerkin's avatar
Eoin Clerkin committed
64
  setup->SetTitle("SIS18 - Hadron Setup");
Eoin Clerkin's avatar
Eoin Clerkin committed
65
66
  setup->SetModule(ECbmModuleId::kMagnet, magnetGeoTag);
  setup->SetModule(ECbmModuleId::kPipe, pipeGeoTag);
Eoin Clerkin's avatar
Eoin Clerkin committed
67
  setup->SetModule(ECbmModuleId::kTarget, targetGeoTag);
Eoin Clerkin's avatar
Eoin Clerkin committed
68
69
70
71
72
73
74
75
76
77
78
  setup->SetModule(ECbmModuleId::kSts, stsGeoTag);
  setup->SetModule(ECbmModuleId::kTof, tofGeoTag);
  setup->SetModule(ECbmModuleId::kPlatform, platGeoTag);
  setup->SetField(fieldTag, fieldScale, 0., 0., fieldZ);
  // ------------------------------------------------------------------------

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

}