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
25#include <FairModule.h>
26
27namespace o2
28{
29namespace trk
30{
31
32class TRKServices : public FairModule
33{
34 enum class Orientation { kASide = 1,
35 kCSide = -1 };
36 // TRK services overview: three componenets
37 //
38 // ===================================================
39 // ============|| Outer ||============
40 // =========|| || Tracker || ||=========
41 // || ||===||-------------||===|| ||
42 // || || Inner + Mid || ||
43 // || || Tracker || ||
44 // || ||===||-------------||===|| ||
45 // =========|| || || ||========= ---> createDisksServices
46 // ============|| ||============ ---> createMiddleBarrelServices
47 // =================================================== ---> createOuterServices
48 public:
49 TRKServices() = default;
50 void createMaterials();
51 void createServices(TGeoVolume* motherVolume);
52 void createMiddleServices(TGeoVolume* motherVolume);
53 void createOuterDisksServices(TGeoVolume* motherVolume);
54 void createOuterBarrelServices(TGeoVolume* motherVolume);
55 void createServicesAroundBeamPipe(TGeoVolume* motherVolume);
56 void createMLServicesPeacock(TGeoVolume* motherVolume);
57 void createOTServicesPeacock(TGeoVolume* motherVolume);
59 void excavateFromVacuum(TString shapeToExcavate);
60 void registerVacuum(TGeoVolume* motherVolume);
61
62 protected:
63 // Vacuum
65 // Coldplate
66 float mColdPlateRMin; // cm
67 float mColdPlateZLength; // cm
70
71 // Services
72 float mFiberArea = 7.1e-2; // cm^2
73 float mPowerBundleArea = 1.13; // cm^2
74 float mFiberComposition[2] = {0.5, 0.5}; // SiO2, PE
75 float mPowerBundleComposition[2] = {0.08, 0.92}; // Cu, PE (with jacket)
76 float mPowerBundleJacketComposition[2] = {0.06, 0.94}; // Cu, PE
77 float mWaterBundleComposition[2] = {0.56, 0.44}; // PU, H2O
78 float mWaterBundleDiskComposition[2] = {0.44, 0.56}; // PU, H2O
79 // float mMiddleDiskThickness = 1.0; // cm
80 std::vector<float> mCableFanWeights = {0.5, 0.3, 0.2}; // relative weights of the fan layers
81
83};
84} // namespace trk
85} // namespace o2
86#endif // O2_TRK_SERVICES_H
TString mVacuumCompositeFormula
Definition TRKServices.h:64
float mPowerBundleJacketComposition[2]
Definition TRKServices.h:76
void registerVacuum(TGeoVolume *motherVolume)
void createServicesAroundBeamPipe(TGeoVolume *motherVolume)
void createOTServicesPeacock(TGeoVolume *motherVolume)
void createOuterBarrelServices(TGeoVolume *motherVolume)
float mPowerBundleComposition[2]
Definition TRKServices.h:75
float mWaterBundleComposition[2]
Definition TRKServices.h:77
void createServices(TGeoVolume *motherVolume)
ClassDefOverride(TRKServices, 1)
void createMLServicesPeacock(TGeoVolume *motherVolume)
void excavateFromVacuum(TString shapeToExcavate)
float mWaterBundleDiskComposition[2]
Definition TRKServices.h:78
void createOuterDisksServices(TGeoVolume *motherVolume)
std::vector< float > mCableFanWeights
Definition TRKServices.h:80
float mFiberComposition[2]
Definition TRKServices.h:74
void createMiddleServices(TGeoVolume *motherVolume)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...