Project
Loading...
Searching...
No Matches
TRKServices.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef O2_TRK_SERVICES_H
13#define O2_TRK_SERVICES_H
14
16// Material 1 Fraction X_0 (cm) Material 2 Fraction X_0 (cm)
17// Fiber SiO2 0,5 12,29 PE 0,5 45
18// Power bundle, no jacket Cu 0,09 1,44 PE 0,91 45
19// Power bundle Cu 0,06 1,44 PE 0,94 45
20// Water bundle PU 0,56 19 H2O 0,44 36,08
21// Water bundle disk PU 0,44 19 H2O 0,56 36,08
22
23#include <TGeoManager.h>
24#include <FairModule.h>
25
26namespace o2
27{
28namespace trk
29{
30
31class TRKServices : public FairModule
32{
33 enum class Orientation { kASide = 1,
34 kCSide = -1 };
35 // TRK services overview: three componenets
36 //
37 // ===================================================
38 // ============|| Outer ||============
39 // =========|| || Tracker || ||=========
40 // || ||===||-------------||===|| ||
41 // || || Inner + Mid || ||
42 // || || Tracker || ||
43 // || ||===||-------------||===|| ||
44 // =========|| || || ||========= ---> createDisksServices
45 // ============|| ||============ ---> createMiddleBarrelServices
46 // =================================================== ---> createOuterServices
47 public:
48 TRKServices() = default;
49 void createMaterials();
50 void createServices(TGeoVolume* motherVolume);
51 void createMiddleServices(TGeoVolume* motherVolume);
52 void createOuterDisksServices(TGeoVolume* motherVolume);
53 void createOuterBarrelServices(TGeoVolume* motherVolume);
54 void createMLServicesPeacock(TGeoVolume* motherVolume);
55 void createOTServicesPeacock(TGeoVolume* motherVolume);
57 void excavateFromVacuum(TString shapeToExcavate);
58 void registerVacuum(TGeoVolume* motherVolume);
59
60 protected:
61 // Vacuum
63 // Coldplate
64 float mColdPlateRMin; // cm
65 float mColdPlateZLength; // cm
68
69 // Services
70 float mFiberArea = 7.1e-2; // cm^2
71 float mPowerBundleArea = 1.13; // cm^2
72 float mFiberComposition[2] = {0.5, 0.5}; // SiO2, PE
73 float mPowerBundleComposition[2] = {0.08, 0.92}; // Cu, PE (with jacket)
74 float mPowerBundleJacketComposition[2] = {0.06, 0.94}; // Cu, PE
75 float mWaterBundleComposition[2] = {0.56, 0.44}; // PU, H2O
76 float mWaterBundleDiskComposition[2] = {0.44, 0.56}; // PU, H2O
77 // float mMiddleDiskThickness = 1.0; // cm
78 std::vector<float> mCableFanWeights = {0.5, 0.3, 0.2}; // relative weights of the fan layers
79
81};
82} // namespace trk
83} // namespace o2
84#endif // O2_TRK_SERVICES_H
TString mVacuumCompositeFormula
Definition TRKServices.h:62
float mPowerBundleJacketComposition[2]
Definition TRKServices.h:74
void registerVacuum(TGeoVolume *motherVolume)
void createOTServicesPeacock(TGeoVolume *motherVolume)
void createOuterBarrelServices(TGeoVolume *motherVolume)
float mPowerBundleComposition[2]
Definition TRKServices.h:73
float mWaterBundleComposition[2]
Definition TRKServices.h:75
void createServices(TGeoVolume *motherVolume)
ClassDefOverride(TRKServices, 1)
void createMLServicesPeacock(TGeoVolume *motherVolume)
void excavateFromVacuum(TString shapeToExcavate)
float mWaterBundleDiskComposition[2]
Definition TRKServices.h:76
void createOuterDisksServices(TGeoVolume *motherVolume)
std::vector< float > mCableFanWeights
Definition TRKServices.h:78
float mFiberComposition[2]
Definition TRKServices.h:72
void createMiddleServices(TGeoVolume *motherVolume)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...