Project
Loading...
Searching...
No Matches
Station345Geometry.cxx File Reference

Implementation of the slat-stations geometry. More...

#include "Materials.h"
#include "Station345Geometry.h"
#include <TGeoCompositeShape.h>
#include <TGeoManager.h>
#include <TGeoMedium.h>
#include <TGeoShape.h>
#include <TGeoTube.h>
#include <TGeoVolume.h>
#include <TMath.h>
#include <rapidjson/document.h>
#include <rapidjson/filereadstream.h>
#include <iostream>
#include <string>
#include <array>

Go to the source code of this file.

Namespaces

namespace  o2
 a couple of static helper functions to create timestamp values for CCDB queries or override obsolete objects
 
namespace  o2::mch
 

Functions

TGeoVolume * o2::mch::getDualSampa ()
 
bool o2::mch::isRounded (string name)
 
bool o2::mch::isShort (string name)
 
TGeoCompositeShape * o2::mch::getRoundedShape (const char *name, float halfThickness, float xPos, float yPos, float radius)
 
void o2::mch::createCommonVolumes ()
 
void o2::mch::createPCBs ()
 
void o2::mch::createSlats ()
 
void o2::mch::createSupportPanels ()
 
void o2::mch::buildHalfChambers (TGeoVolume &topVolume)
 
vector< TGeoVolume * > o2::mch::getStation345SensitiveVolumes ()
 
void o2::mch::createStation345Geometry (TGeoVolume &topVolume)
 

Variables

const float o2::mch::kGasLength = 40.
 Constants.
 
const float o2::mch::kGasHalfHeight = 40. / 2
 
const float o2::mch::kPCBLength = kGasLength
 
const float o2::mch::kShortPCBLength = 35.
 
const float o2::mch::kRoundedPCBLength = 42.5
 
const float o2::mch::kR1PCBLength = 19.25
 
const float o2::mch::kPCBHalfHeight = 58. / 2
 
const float o2::mch::kSlatPanelHalfHeight = 42.5 / 2
 
const float o2::mch::kGlueHalfThickness = 0.004 / 2
 
const float o2::mch::kNomexBulkHalfThickness = 0.025 / 2
 
const float o2::mch::kCarbonHalfThickness = 0.02 / 2
 
const float o2::mch::kNomexHalfThickness = 0.8 / 2
 
const float o2::mch::kSpacerHalfThickness = kGasHalfThickness
 
const float o2::mch::kHoriSpacerHalfHeight = 1.95 / 2
 
const float o2::mch::kVertSpacerHalfLength = 2.5 / 2
 
const float o2::mch::kRoundedSpacerHalfLength = 1.
 
const float o2::mch::kBorderHalfHeight = 2.5
 
const float o2::mch::kBorderHalfThickness = kGasHalfThickness
 
const float o2::mch::kDualSampaHalfLength = 3.2 / 2
 
const float o2::mch::kDualSampaHalfHeight = 2.5
 
const float o2::mch::kDualSampaHalfThickness = 0.027 / 2
 
const float o2::mch::kDualSampaYPos = 0.45 + kSlatPanelHalfHeight + kDualSampaHalfHeight
 
const float o2::mch::kLVCableHalfHeight = 2.6 / 2
 Cables (copper)
 
const float o2::mch::kLVCableHalfThickness = 0.026 / 2
 
const float o2::mch::kCarbonSupportHalfThickness = 0.03 / 2
 Support panels.
 
const float o2::mch::kGlueSupportHalfThickness = 0.02 / 2
 
const float o2::mch::kNomexSupportHalfThickness = 1.5 / 2
 
const float o2::mch::kSt3SupportHalfHeight = 361. / 2
 
const float o2::mch::kSt4SupportHalfHeight = 530. / 2
 
const float o2::mch::kSt5SupportHalfHeight = 570. / 2
 
const float o2::mch::kCh5SupportHalfLength = 162. / 2
 
const float o2::mch::kCh6SupportHalfLength = 167. / 2
 
const float o2::mch::kSt45SupportHalfLength = 260. / 2
 
const float o2::mch::kSt3Radius = 29.5
 
const float o2::mch::kSt45Radius = 37.5
 
const float o2::mch::kSt3RoundedSlatYPos = 37.8
 
const float o2::mch::kSt45RoundedSlatYPos = 38.2
 
const map< string, array< int, 4 > > o2::mch::kPcbTypes = {{"B1N1", {10, 10, 7, 7}}, {"B2N2-", {5, 5, 4, 3}}, {"B2N2+", {5, 5, 3, 4}}, {"B3-N3", {3, 2, 2, 2}}, {"B3+N3", {2, 3, 2, 2}}, {"R1", {3, 4, 2, 3}}, {"R2", {13, 4, 9, 3}}, {"R3", {13, 1, 10, 0}}, {"S2-", {4, 5, 3, 3}}, {"S2+", {5, 4, 3, 3}}}
 
const map< string, vector< string > > o2::mch::kSlatTypes
 
const string o2::mch::jsonSlatDescription
 Json string describing all the necessary parameters to place the slats in the half-chambers.
 

Detailed Description

Implementation of the slat-stations geometry.

Author
Florian Damas flori.nosp@m.an.d.nosp@m.amas@.nosp@m.cern.nosp@m..ch
Date
22 march 2018

Definition in file Station345Geometry.cxx.