]>
Commit | Line | Data |
---|---|---|
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" | |
17 | class TGeoPcon; | |
18 | class TGeoVolume; | |
19 | ||
20 | ||
21 | class 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 |