Adding Domenico Colella as responsible for SPD part in TRI pp
[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
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