//
[u/mrichter/AliRoot.git] / STRUCT / AliPIPEupgrade.h
CommitLineData
bc99ea1b 1#ifndef ALIPIPEUPGRADE_H
2#define ALIPIPEUPGRADE_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id: AliPIPEupgrade.h 55648 2012-04-10 10:59:00Z cvetan $*/
7
8/////////////////////////////////////////////////////////
9// ALICE beam pipe geometry //
10// This version uses TGeo. //
11// Author: //
12// Andreas Morsch //
13// e-mail: andreas.morsch@cern.ch //
14/////////////////////////////////////////////////////////
15
16#include "AliPIPE.h"
17class TGeoPcon;
18class TGeoVolume;
19
20
21class AliPIPEupgrade : public AliPIPE {
22
23 public:
24 enum constants {kC=6, kAlu=9, kInox=19, kGetter=20, kBe=5, kVac=16,
25 kAir=15, kAlBe=21, kPA = 22};
26
12d1b758 27 AliPIPEupgrade(Bool_t coneIsBe=0, Float_t ro=1.8, Float_t width=0.08, Float_t hlength=61.52);
bc99ea1b 28 AliPIPEupgrade(const char *name, const char *title,
12d1b758 29 Bool_t coneIsBe=0, Float_t ro=1.8, Float_t width=0.08, Float_t hlength=61.52);
bc99ea1b 30 AliPIPEupgrade(Option_t *opt);
31 // virtual ~AliPIPEupgrade() {}
32 virtual void CreateGeometry();
33 virtual void CreateMaterials();
34 virtual Int_t IsVersion() const {return 0;}
35 virtual void SetBeamBackgroundSimulation() {fBeamBackground = kTRUE;}
36 virtual void AddAlignableVolumes() const;
37
38 Float_t GetRmin() {return fIpPipeRo-fIpPipeWidth; }
39 Float_t GetRmax() {return fIpPipeRo; }
40 Float_t GetWidth(){return fIpPipeWidth; }
41 Float_t GetDz() {return fIpHLength; }
42
43 protected:
44 virtual TGeoPcon* MakeMotherFromTemplate(const TGeoPcon* shape, Int_t imin = -1, Int_t imax = -1, Float_t r0 = 0., Int_t nz =-1);
45 virtual TGeoPcon* MakeInsulationFromTemplate(TGeoPcon* shape);
46 virtual TGeoVolume* MakeBellow(const char* ext, Int_t nc, Float_t rMin, Float_t rMax, Float_t dU, Float_t rPlie, Float_t dPlie);
47 Bool_t fBeamBackground; // Flag for beam background simulations
48
49 Bool_t fConeIsBe; // Flag for Material of the "long cone", can be set to Be (std is Alu)
50 Float_t fIpPipeRo; // outer diameter of the beampipe around the IP
51 Float_t fIpPipeWidth; // width of the beampipe around the IP
52 Float_t fIpHLength; // half length of the beampipe around the IP // FixMe: up to now, hardcoded to 57.25cm
53
54 ClassDef(AliPIPEupgrade, 1) // Class for PIPE version using TGeo
55};
56
57#endif
12d1b758 58