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 TRKServices(float rMin, float zLength, float thickness);
50 void createMaterials();
51 void createServices(TGeoVolume* motherVolume);
52 void createColdplate(TGeoVolume* motherVolume);
53 void createMiddleServices(TGeoVolume* motherVolume);
54 void createOuterDisksServices(TGeoVolume* motherVolume);
55 void createOuterBarrelServices(TGeoVolume* motherVolume);
56
57 protected:
58 // Coldplate
59 float mColdPlateRMin; // cm
60 float mColdPlateZLength; // cm
63
64 // Services
65 float mFiberComposition[2] = {0.5, 0.5}; // SiO2, PE
66 float mPowerBundleComposition[2] = {0.09, 0.91}; // Cu, PE
67 float mPowerBundleJacketComposition[2] = {0.06, 0.94}; // Cu, PE
68 float mWaterBundleComposition[2] = {0.56, 0.44}; // PU, H2O
69 float mWaterBundleDiskComposition[2] = {0.44, 0.56}; // PU, H2O
70 float mMiddleDiskThickness = 1.0; // cm
71 std::vector<float> mCableFanWeights = {0.5, 0.3, 0.2}; // relative weights of the fan layers
72
73 // IRIS vacuum vessel
74 float mRInIRISVacV; // cm
75 float mROutIRISVacV; // cm
76 float mZLengthIRISVacV; // cm
77 float mThicknessIRISVacV; // cm
79};
80} // namespace trk
81} // namespace o2
82#endif // O2_TRK_SERVICES_H
float mPowerBundleJacketComposition[2]
Definition TRKServices.h:67
void createOuterBarrelServices(TGeoVolume *motherVolume)
float mPowerBundleComposition[2]
Definition TRKServices.h:66
float mWaterBundleComposition[2]
Definition TRKServices.h:68
void createServices(TGeoVolume *motherVolume)
ClassDefOverride(TRKServices, 1)
float mWaterBundleDiskComposition[2]
Definition TRKServices.h:69
void createOuterDisksServices(TGeoVolume *motherVolume)
std::vector< float > mCableFanWeights
Definition TRKServices.h:71
float mFiberComposition[2]
Definition TRKServices.h:65
void createColdplate(TGeoVolume *motherVolume)
void createMiddleServices(TGeoVolume *motherVolume)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...