Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FOCAL-100] Porting the beam pipe for run 4 (around FOCAL) #13772

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Detectors/Passive/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ o2_add_library(DetectorsPassive
src/Dipole.cxx
src/Compensator.cxx
src/Pipe.cxx
src/PipeRun4.cxx
src/Magnet.cxx
src/PassiveContFact.cxx
src/FrameStructure.cxx
Expand All @@ -32,6 +33,7 @@ o2_target_root_dictionary(DetectorsPassive
include/DetectorsPassive/Magnet.h
include/DetectorsPassive/PassiveContFact.h
include/DetectorsPassive/Pipe.h
include/DetectorsPassive/PipeRun4.h
include/DetectorsPassive/FrameStructure.h
include/DetectorsPassive/Shil.h
include/DetectorsPassive/Hall.h
Expand Down
63 changes: 63 additions & 0 deletions Detectors/Passive/include/DetectorsPassive/PipeRun4.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.

#ifndef ALICEO2_PASSIVE_PIPERUN4_H
#define ALICEO2_PASSIVE_PIPERUN4_H

#include "DetectorsPassive/PassiveBase.h"
#include "Rtypes.h" // for PipeRun4::Class, ClassDef, PipeRun4::Streamer

class TGeoPcon;

namespace o2
{
namespace passive
{
class PipeRun4 : public PassiveBase
{
public:
PipeRun4(const char* name, const char* Title = "Alice Pipe", float rho = 0.f, float thick = 0.f);
PipeRun4();

~PipeRun4() override;
void ConstructGeometry() override;

/// Clone this object (used in MT mode only)
FairModule* CloneModule() const override;

float getRmin() const { return mBePipeRmax - mBePipeThick; }
float getRmax() const { return mBePipeRmax; }
float getWidth() const { return mBePipeThick; }
float getDz() const { return mIpHLength; }

private:
void createMaterials();
PipeRun4(const PipeRun4& orig);
PipeRun4& operator=(const PipeRun4&);

TGeoPcon* makeMotherFromTemplate(const TGeoPcon* shape, int imin = -1, int imax = -1, float r0 = 0.,
int nz = -1);
TGeoPcon* makeInsulationFromTemplate(TGeoPcon* shape);
TGeoVolume* makeBellow(const char* ext, int nc, float rMin, float rMax, float dU, float rPlie,
float dPlie);
TGeoVolume* makeBellowCside(const char* ext, int nc, float rMin, float rMax, float rPlie, float dPlie);

TGeoVolume* makeSupportBar(const char* tag, float Rin, float Rout, float length, float skinLength);

float mBePipeRmax = 0.; // outer diameter of the Be section
float mBePipeThick = 0.; // Be section thickness
float mIpHLength = 0.; // half length of the beampipe around the IP // FixMe: up to now, hardcoded to 57.25cm

ClassDefOverride(PipeRun4, 1);
};
} // namespace passive
} // namespace o2
#endif // ALICEO2_PASSIVE_PIPERUN4_H
1 change: 1 addition & 0 deletions Detectors/Passive/src/PassiveLinkDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#pragma link C++ class o2::passive::Cave + ;
#pragma link C++ class o2::passive::PassiveContFact + ;
#pragma link C++ class o2::passive::Pipe + ;
#pragma link C++ class o2::passive::PipeRun4 + ;
#pragma link C++ class o2::passive::FrameStructure + ;
#pragma link C++ class o2::passive::Shil + ;
#pragma link C++ class o2::passive::Hall + ;
Expand Down
Loading