Skip to content

Commit b26d71d

Browse files
committed
Run3 updated frame structure
Providing the frame structure imported from AliFRAMEv3 which should be the correct one for Run3. The relevant commit in AliRoot is 0564e327ab. At some moment this will likely replace the existing frame structure of FrameStructure.h which was correct for Run1.
1 parent 62bcdfe commit b26d71d

4 files changed

Lines changed: 1983 additions & 0 deletions

File tree

Detectors/Passive/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ set(SRCS
99
src/Magnet.cxx
1010
src/PassiveContFact.cxx
1111
src/FrameStructure.cxx
12+
src/FrameStructureRun3.cxx
1213
)
1314

1415
Set(HEADERS
@@ -18,6 +19,7 @@ Set(HEADERS
1819
include/${MODULE_NAME}/PassiveContFact.h
1920
include/${MODULE_NAME}/Pipe.h
2021
include/${MODULE_NAME}/FrameStructure.h
22+
include/${MODULE_NAME}/FrameStructureRun3.h
2123
)
2224

2325
Set(LINKDEF src/PassiveLinkDef.h)
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
// Copyright CERN and copyright holders of ALICE O2. This software is
2+
// distributed under the terms of the GNU General Public License v3 (GPL
3+
// Version 3), copied verbatim in the file "COPYING".
4+
//
5+
// See https://alice-o2.web.cern.ch/ for full licensing information.
6+
//
7+
// In applying this license CERN does not waive the privileges and immunities
8+
// granted to it by virtue of its status as an Intergovernmental Organization
9+
// or submit itself to any jurisdiction.
10+
11+
// -------------------------------------------------------------------------
12+
// ----- Implementation of the Frame structure -----
13+
// ----- Created 05/07/17 by S. Wenzel -----
14+
// ----- Based on AliFRAMEv3 from AliRoot -----
15+
// -------------------------------------------------------------------------
16+
17+
#ifndef O2_PASSIVE_FRAMESTRUCTURE_H
18+
#define O2_PASSIVE_FRAMESTRUCTURE_H
19+
20+
#include <FairModule.h>
21+
22+
class TGeoCompositeShape;
23+
24+
namespace o2
25+
{
26+
namespace passive
27+
{
28+
// class supposed to provide the frame support structure common to TOF and TRD
29+
class FrameStructure : public FairModule
30+
{
31+
public:
32+
FrameStructure(const char* Name = "FrameStruct", const char* title = "FrameStruct");
33+
34+
/** default constructor */
35+
FrameStructure() = default;
36+
37+
/** destructor */
38+
~FrameStructure() override = default;
39+
40+
/** Create the module geometry */
41+
void ConstructGeometry() override;
42+
43+
// query if constructed with holes
44+
bool hasHoles() const { return mWithHoles; }
45+
// set if to be constructed with/without holes
46+
void setHoles(bool flag) { mWithHoles = true; }
47+
private:
48+
void makeHeatScreen(const char* name, float dyP, int rot1, int rot2);
49+
void createWebFrame(const char* name, float dHz, float theta0, float phi0);
50+
void createMaterials();
51+
TGeoCompositeShape* createTOFRail(float y);
52+
53+
bool mCaveIsAvailable = false; ///! if the mother volume is available (to hook the frame)
54+
55+
//
56+
bool mWithHoles =
57+
true; //!< if holes are enabled (just a central place for other to query; no influence on frame structure)
58+
59+
// medium IDs for the Frame
60+
int mAirMedID = -1;
61+
int mSteelMedID = -1;
62+
int mAluMedID = -1;
63+
int mG10MedID = -1;
64+
65+
ClassDefOverride(FrameStructure, 1);
66+
};
67+
}
68+
}
69+
70+
#endif

0 commit comments

Comments
 (0)