Adding the possibility to misalign the central beam pipe. New macro to produce realis...
[u/mrichter/AliRoot.git] / STRUCT / AliPIPEv3.h
1 #ifndef ALIPIPEV3_H
2 #define ALIPIPEV3_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$*/
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 AliPIPEv3 : 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   AliPIPEv3();
28   AliPIPEv3(const char *name, const char *title);
29   virtual       ~AliPIPEv3() {}
30   virtual void   CreateGeometry();
31   virtual void   CreateMaterials();
32   virtual Int_t  IsVersion() const {return 0;}
33   virtual void   SetBeamBackgroundSimulation() {fBeamBackground = kTRUE;}
34   virtual void   AddAlignableVolumes() const;
35           
36  private:
37   virtual TGeoPcon*   MakeMotherFromTemplate(const TGeoPcon* shape, Int_t imin = -1, Int_t imax = -1, Float_t r0 = 0., Int_t nz =-1);
38   virtual TGeoPcon*   MakeInsulationFromTemplate(TGeoPcon* shape);
39   virtual TGeoVolume* MakeBellow(const char* ext, Int_t nc, Float_t rMin, Float_t rMax, Float_t dU, Float_t rPlie, Float_t dPlie);
40   Bool_t  fBeamBackground; // Flag for beam background simulations
41   
42   ClassDef(AliPIPEv3, 2)  //Class for PIPE version using TGeo
43 };
44  
45 #endif