setup_sis100_muon_jpsi.C 3.5 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_muon_jpsi
 **
 ** Contains: MVD + STS + MUCH + TRD + TOF
 **
 ** @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
40
41
42
// 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-06-21 - DE - switch to shortened root pipe v16b_1m geometry ref #721
// 2016-05-19 - VF - Add platform module
// 2016-02-25 - DE - use STS v16c as new default
// 2016-02-05 - VF - Replaces former sis100_muon_jpsi_setup.C,
//                   now using the CbmSetup class.
// 2015-12-14 - DE - use TRD v15c starting at z = 490 cm for muon_jpsi setup
// 2015-12-14 - DE - rename long SIS100 MUCH version to muon_JPSI setup
// 2015-12-14 - DE - use TOF v16a
// 2015-12-11 - DE - use STS v15c as new default
// 2015-12-11 - DE - reproduce MUCH v15b setup from macro/much/much_sim.C
// 2015-07-20 - FU - magnet v15a is v12b with correct keeping volume material
// 2015-07-20 - FU - add material budget files
// 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_v13e.geo fixes overlap with TOF, also avoids TRD
// 2013-11-04 - VF - make STS v15b the new default


void setup_sis100_muon_jpsi()
{

  // -----  Geometry Tags  --------------------------------------------------
Eoin Clerkin's avatar
Eoin Clerkin committed
43
44
45
46
47
48
  TString magnetGeoTag    = "v21b";
  TString pipeGeoTag      = "v20b_1m";
  TString stsGeoTag       = "v20a";
  TString muchGeoTag      = "v20c_sis100_1m_jpsi";
  TString trdGeoTag       = "v20c_1m";
  TString tofGeoTag       = "v20c_1m";
Administrator's avatar
Administrator committed
49
50
51
52
53
54
  TString platGeoTag      = "v13a";
  // ------------------------------------------------------------------------


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


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


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

}