Project
Loading...
Searching...
No Matches
FrameStructure.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// -------------------------------------------------------------------------
13// ----- Implementation of the Frame structure -----
14// ----- Created 05/07/17 by S. Wenzel -----
15// ----- Based on AliFRAMEv3 from AliRoot -----
16// -------------------------------------------------------------------------
17
18#ifndef O2_PASSIVE_FRAMESTRUCTURE_H
19#define O2_PASSIVE_FRAMESTRUCTURE_H
20
21#include "DetectorsPassive/PassiveBase.h"
22
23class TGeoCompositeShape;
24
25namespace o2
26{
27namespace passive
28{
29// class supposed to provide the frame support structure common to TOF and TRD
31{
32 public:
33 FrameStructure(const char* name, const char* title = "FRAME");
34
37
39 ~FrameStructure() override = default;
40
42 FairModule* CloneModule() const override;
43
45 void ConstructGeometry() override;
46
47 // query if constructed with holes
48 bool hasHoles() const { return mWithHoles; }
49 // set if to be constructed with/without holes
50 void setHoles(bool flag) { mWithHoles = true; }
51
52 private:
55
56 void makeHeatScreen(const char* name, float dyP, int rot1, int rot2);
57 void createWebFrame(const char* name, float dHz, float theta0, float phi0);
58 void createMaterials();
59 TGeoCompositeShape* createTOFRail(float y);
60
61 bool mCaveIsAvailable = false;
62
63 //
64 bool mWithHoles =
65 true;
66
67 // medium IDs for the Frame
68 int mAirMedID = -1;
69 int mSteelMedID = -1;
70 int mAluMedID = -1;
71 int mG10MedID = -1;
72
73 ClassDefOverride(FrameStructure, 1);
74};
75} // namespace passive
76} // namespace o2
77
78#endif
~FrameStructure() override=default
FairModule * CloneModule() const override
a common base class for passive modules - implementing generic functions
Definition PassiveBase.h:24
GLuint const GLchar * name
Definition glcorearb.h:781
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...