Project
Loading...
Searching...
No Matches
Flex.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
15
16#ifndef ALICEO2_MFT_FLEX_H_
17#define ALICEO2_MFT_FLEX_H_
18
19#include "Rtypes.h"
20
21#include <string>
22
23class TGeoVolume;
24class TGeoVolumeAssembly;
25
26namespace o2
27{
28namespace mft
29{
30
31class Flex
32{
33
34 public:
35 Flex();
36 Flex(LadderSegmentation* ladder);
38 TGeoVolumeAssembly* makeFlex(Int_t nbsensors, Double_t length);
39 void makeElectricComponents(TGeoVolumeAssembly* flex, Int_t nbsensors, Double_t length, Double_t zvarnish);
40
47 static std::string composeFlexName(Int_t nbsensors);
48
52 static std::string composeFlexLayerName(const char* layer, Int_t nbsensors, Int_t iflag = -1);
53
58 static TGeoVolumeAssembly* getFlexVolume(Int_t nbsensors);
59
60 private:
61 TGeoVolume* makeLines(Int_t nbsensors, Double_t length, Double_t width, Double_t thickness);
62 TGeoVolume* makeAGNDandDGND(Int_t nbsensors, Double_t length, Double_t width, Double_t thickness);
63 TGeoVolume* makeKapton(Int_t nbsensors, Double_t length, Double_t width, Double_t thickness);
64 TGeoVolume* makeVarnish(Int_t nbsensors, Double_t length, Double_t width, Double_t thickness, Int_t iflag);
65 TGeoVolumeAssembly* makeElectricComponent(Double_t dx, Double_t dy, Double_t dz, Int_t iflag);
66
67 Double_t* mFlexOrigin;
68 LadderSegmentation* mLadderSeg;
69
70 ClassDefNV(Flex, 1);
71};
72} // namespace mft
73} // namespace o2
74
75#endif
static std::string composeFlexName(Int_t nbsensors)
Definition Flex.cxx:59
void makeElectricComponents(TGeoVolumeAssembly *flex, Int_t nbsensors, Double_t length, Double_t zvarnish)
Definition Flex.cxx:158
static TGeoVolumeAssembly * getFlexVolume(Int_t nbsensors)
Definition Flex.cxx:72
static std::string composeFlexLayerName(const char *layer, Int_t nbsensors, Int_t iflag=-1)
Definition Flex.cxx:62
TGeoVolumeAssembly * makeFlex(Int_t nbsensors, Double_t length)
Definition Flex.cxx:81
GLint GLsizei width
Definition glcorearb.h:270
GLuint GLsizei GLsizei * length
Definition glcorearb.h:790
GLenum GLuint GLint GLint layer
Definition glcorearb.h:1310
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...