Skip to content

Commit 867d8c2

Browse files
authored
[FOCAL-100] Porting the beam pipe for run 4 (around FOCAL) (#13772)
* Porting the beam pipe for run 4 (around FOCAL)
1 parent 3c58a98 commit 867d8c2

File tree

5 files changed

+3259
-2
lines changed

5 files changed

+3259
-2
lines changed

Detectors/Passive/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ o2_add_library(DetectorsPassive
1515
src/Dipole.cxx
1616
src/Compensator.cxx
1717
src/Pipe.cxx
18+
src/PipeRun4.cxx
1819
src/Magnet.cxx
1920
src/PassiveContFact.cxx
2021
src/FrameStructure.cxx
@@ -32,6 +33,7 @@ o2_target_root_dictionary(DetectorsPassive
3233
include/DetectorsPassive/Magnet.h
3334
include/DetectorsPassive/PassiveContFact.h
3435
include/DetectorsPassive/Pipe.h
36+
include/DetectorsPassive/PipeRun4.h
3537
include/DetectorsPassive/FrameStructure.h
3638
include/DetectorsPassive/Shil.h
3739
include/DetectorsPassive/Hall.h
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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 ALICEO2_PASSIVE_PIPERUN4_H
13+
#define ALICEO2_PASSIVE_PIPERUN4_H
14+
15+
#include "DetectorsPassive/PassiveBase.h"
16+
#include "Rtypes.h" // for PipeRun4::Class, ClassDef, PipeRun4::Streamer
17+
18+
class TGeoPcon;
19+
20+
namespace o2
21+
{
22+
namespace passive
23+
{
24+
class PipeRun4 : public PassiveBase
25+
{
26+
public:
27+
PipeRun4(const char* name, const char* Title = "Alice Pipe", float rho = 0.f, float thick = 0.f);
28+
PipeRun4();
29+
30+
~PipeRun4() override;
31+
void ConstructGeometry() override;
32+
33+
/// Clone this object (used in MT mode only)
34+
FairModule* CloneModule() const override;
35+
36+
float getRmin() const { return mBePipeRmax - mBePipeThick; }
37+
float getRmax() const { return mBePipeRmax; }
38+
float getWidth() const { return mBePipeThick; }
39+
float getDz() const { return mIpHLength; }
40+
41+
private:
42+
void createMaterials();
43+
PipeRun4(const PipeRun4& orig);
44+
PipeRun4& operator=(const PipeRun4&);
45+
46+
TGeoPcon* makeMotherFromTemplate(const TGeoPcon* shape, int imin = -1, int imax = -1, float r0 = 0.,
47+
int nz = -1);
48+
TGeoPcon* makeInsulationFromTemplate(TGeoPcon* shape);
49+
TGeoVolume* makeBellow(const char* ext, int nc, float rMin, float rMax, float dU, float rPlie,
50+
float dPlie);
51+
TGeoVolume* makeBellowCside(const char* ext, int nc, float rMin, float rMax, float rPlie, float dPlie);
52+
53+
TGeoVolume* makeSupportBar(const char* tag, float Rin, float Rout, float length, float skinLength);
54+
55+
float mBePipeRmax = 0.; // outer diameter of the Be section
56+
float mBePipeThick = 0.; // Be section thickness
57+
float mIpHLength = 0.; // half length of the beampipe around the IP // FixMe: up to now, hardcoded to 57.25cm
58+
59+
ClassDefOverride(PipeRun4, 1);
60+
};
61+
} // namespace passive
62+
} // namespace o2
63+
#endif // ALICEO2_PASSIVE_PIPERUN4_H

Detectors/Passive/src/PassiveLinkDef.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#pragma link C++ class o2::passive::Cave + ;
3636
#pragma link C++ class o2::passive::PassiveContFact + ;
3737
#pragma link C++ class o2::passive::Pipe + ;
38+
#pragma link C++ class o2::passive::PipeRun4 + ;
3839
#pragma link C++ class o2::passive::FrameStructure + ;
3940
#pragma link C++ class o2::passive::Shil + ;
4041
#pragma link C++ class o2::passive::Hall + ;

0 commit comments

Comments
 (0)