]>
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 | ||
0b0f2c9c | 27 | AliPIPEupgrade(Float_t ro=-1, Float_t thick=-1); |
bc99ea1b | 28 | AliPIPEupgrade(const char *name, const char *title, |
0b0f2c9c | 29 | Float_t ro=-1, Float_t thick=-1); |
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 | ||
0b0f2c9c | 38 | Float_t GetRmin() {return fBePipeRmax-fBePipeThick; } |
39 | Float_t GetRmax() {return fBePipeRmax; } | |
40 | Float_t GetWidth(){return fBePipeThick; } | |
bc99ea1b | 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); | |
0b0f2c9c | 47 | virtual TGeoVolume* MakeBellowCside(const char* ext, Int_t nc, Float_t rMin, Float_t rMax, Float_t rPlie, Float_t dPlie); |
48 | ||
bc99ea1b | 49 | Bool_t fBeamBackground; // Flag for beam background simulations |
bc99ea1b | 50 | Bool_t fConeIsBe; // Flag for Material of the "long cone", can be set to Be (std is Alu) |
0b0f2c9c | 51 | Float_t fBePipeRmax; // outer diameter of the Be section |
52 | Float_t fBePipeThick; // Be section thickness | |
bc99ea1b | 53 | Float_t fIpHLength; // half length of the beampipe around the IP // FixMe: up to now, hardcoded to 57.25cm |
54 | ||
0b0f2c9c | 55 | ClassDef(AliPIPEupgrade, 2) // Class for PIPE version using TGeo |
bc99ea1b | 56 | }; |
57 | ||
58 | #endif | |
12d1b758 | 59 |