Line data Source code
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 0 : 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 :
27 : AliPIPEupgrade(Float_t ro=-1, Float_t thick=-1);
28 : AliPIPEupgrade(const char *name, const char *title,
29 : Float_t ro=-1, Float_t thick=-1);
30 : AliPIPEupgrade(Option_t *opt);
31 : // virtual ~AliPIPEupgrade() {}
32 : virtual void CreateGeometry();
33 : virtual void CreateMaterials();
34 0 : virtual Int_t IsVersion() const {return 0;}
35 0 : virtual void SetBeamBackgroundSimulation() {fBeamBackground = kTRUE;}
36 : virtual void AddAlignableVolumes() const;
37 :
38 0 : Float_t GetRmin() {return fBePipeRmax-fBePipeThick; }
39 0 : Float_t GetRmax() {return fBePipeRmax; }
40 0 : Float_t GetWidth(){return fBePipeThick; }
41 0 : 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 : virtual TGeoVolume* MakeBellowCside(const char* ext, Int_t nc, Float_t rMin, Float_t rMax, Float_t rPlie, Float_t dPlie);
48 :
49 : Bool_t fBeamBackground; // Flag for beam background simulations
50 : Bool_t fConeIsBe; // Flag for Material of the "long cone", can be set to Be (std is Alu)
51 : Float_t fBePipeRmax; // outer diameter of the Be section
52 : Float_t fBePipeThick; // Be section thickness
53 : Float_t fIpHLength; // half length of the beampipe around the IP // FixMe: up to now, hardcoded to 57.25cm
54 :
55 12 : ClassDef(AliPIPEupgrade, 2) // Class for PIPE version using TGeo
56 : };
57 :
58 : #endif
59 :
|