#ifndef ALIPIPEUPGRADE_H
#define ALIPIPEUPGRADE_H
#include "AliPIPE.h"
class TGeoPcon;
class TGeoVolume;
class AliPIPEupgrade : public AliPIPE {
public:
enum constants {kC=6, kAlu=9, kInox=19, kGetter=20, kBe=5, kVac=16,
kAir=15, kAlBe=21, kPA = 22};
AliPIPEupgrade(Float_t ro=-1, Float_t thick=-1);
AliPIPEupgrade(const char *name, const char *title,
Float_t ro=-1, Float_t thick=-1);
AliPIPEupgrade(Option_t *opt);
virtual void CreateGeometry();
virtual void CreateMaterials();
virtual Int_t IsVersion() const {return 0;}
virtual void SetBeamBackgroundSimulation() {fBeamBackground = kTRUE;}
virtual void AddAlignableVolumes() const;
Float_t GetRmin() {return fBePipeRmax-fBePipeThick; }
Float_t GetRmax() {return fBePipeRmax; }
Float_t GetWidth(){return fBePipeThick; }
Float_t GetDz() {return fIpHLength; }
protected:
virtual TGeoPcon* MakeMotherFromTemplate(const TGeoPcon* shape, Int_t imin = -1, Int_t imax = -1, Float_t r0 = 0., Int_t nz =-1);
virtual TGeoPcon* MakeInsulationFromTemplate(TGeoPcon* shape);
virtual TGeoVolume* MakeBellow(const char* ext, Int_t nc, Float_t rMin, Float_t rMax, Float_t dU, Float_t rPlie, Float_t dPlie);
virtual TGeoVolume* MakeBellowCside(const char* ext, Int_t nc, Float_t rMin, Float_t rMax, Float_t rPlie, Float_t dPlie);
Bool_t fBeamBackground;
Bool_t fConeIsBe;
Float_t fBePipeRmax;
Float_t fBePipeThick;
Float_t fIpHLength;
ClassDef(AliPIPEupgrade, 2)
};
#endif