]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STRUCT/AliPIPEupgrade.h
Correct use of ROOT_INCLUDE_DIR
[u/mrichter/AliRoot.git] / STRUCT / AliPIPEupgrade.h
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   
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   virtual Int_t  IsVersion() const {return 0;}
35   virtual void   SetBeamBackgroundSimulation() {fBeamBackground = kTRUE;}
36   virtual void   AddAlignableVolumes() const;
37   
38   Float_t GetRmin() {return fBePipeRmax-fBePipeThick; }
39   Float_t GetRmax() {return fBePipeRmax; }
40   Float_t GetWidth(){return fBePipeThick; }
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   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   ClassDef(AliPIPEupgrade, 2)  // Class for PIPE version using TGeo
56 };
57  
58 #endif
59