ROOT logo
#ifndef ALIITSV11_H
#define ALIITSV11_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//========================================================================
//
//                 Inner Traking System geometry v11
//
//  Based on ROOT geometrical modeler
//
// B. Nilsen, L. Gaudichet, M. Sitta
//
//========================================================================


// $Id: 

// $Log$
// Revision 1.1  2011/06/10 14:48:24  masera
// First version from v11Hybrid to v11 (M. Sitta)
//
 
#include "AliITS.h"
#include "AliITSInitGeometry.h"

class  AliITSv11GeometrySPD;
class  AliITSv11GeometrySDD;
class  AliITSv11GeometrySSD;
class  AliITSv11GeometrySupport;
class  TGeoVolume;
class  TGeoVolumeAssembly;

class AliITSv11 : public AliITS {

 public:
    AliITSv11();
    AliITSv11(const char *title);
    AliITSv11(const char *name, const char *title);
    virtual       ~AliITSv11() ;

    virtual void   AddAlignableVolumes() const;
    virtual void   CreateGeometry();
    virtual void   CreateMaterials();

    virtual AliITSv11GeometrySPD*     GetSPDGeometry(){return fSPDgeom;}
    virtual AliITSv11GeometrySDD*     GetSDDGeometry(){return fSDDgeom;}
    virtual AliITSv11GeometrySSD*     GetSSDGeometry(){return fSSDgeom;}
    virtual AliITSv11GeometrySupport* GetSupGeometry(){return fSupgeom;}

    virtual Int_t  IsVersion() const {// returns the ITS version number 
                                      return 11;} 
    virtual void   Init(); 
    virtual void   SetDefaults();
    virtual void   StepManager();
    virtual void SetDensityServicesByThickness(){// uses services density
	// calculation based on the thickness of the services.
	fByThick = kTRUE;}
    virtual void SetDensityServicesByMass(){// uses services density
	// calculation based on the Mass of the services.
	fByThick = kFALSE;}


 protected:
    void SetT2Lmatrix(Int_t uid, Double_t yShift,
		      Bool_t yFlip, Bool_t yRot180=kFALSE) const; // Set T2L matrix in TGeoPNEntries

 private:
    AliITSv11(const AliITSv11 &source); // copy constructor
    AliITSv11& operator=(const AliITSv11 &source); // assignment operator

    Bool_t fByThick;          // Flag to use services materials by thickness
                              // ture, or mass false.
    Int_t  fIDMother;         //! ITS Mother Volume id.

    AliITSInitGeometry fInitGeom;   //! Get access to decoding and AliITSgeom init functions
    AliITSv11GeometrySPD     *fSPDgeom; //! SPD Geometry
    AliITSv11GeometrySDD     *fSDDgeom; //! SDD Geometry
    AliITSv11GeometrySSD     *fSSDgeom; //! SSD Geometry
    AliITSv11GeometrySupport *fSupgeom; //! Support Geometry

    ClassDef(AliITSv11,4)  // ITS version 11 
};
 
#endif
 AliITSv11.h:1
 AliITSv11.h:2
 AliITSv11.h:3
 AliITSv11.h:4
 AliITSv11.h:5
 AliITSv11.h:6
 AliITSv11.h:7
 AliITSv11.h:8
 AliITSv11.h:9
 AliITSv11.h:10
 AliITSv11.h:11
 AliITSv11.h:12
 AliITSv11.h:13
 AliITSv11.h:14
 AliITSv11.h:15
 AliITSv11.h:16
 AliITSv11.h:17
 AliITSv11.h:18
 AliITSv11.h:19
 AliITSv11.h:20
 AliITSv11.h:21
 AliITSv11.h:22
 AliITSv11.h:23
 AliITSv11.h:24
 AliITSv11.h:25
 AliITSv11.h:26
 AliITSv11.h:27
 AliITSv11.h:28
 AliITSv11.h:29
 AliITSv11.h:30
 AliITSv11.h:31
 AliITSv11.h:32
 AliITSv11.h:33
 AliITSv11.h:34
 AliITSv11.h:35
 AliITSv11.h:36
 AliITSv11.h:37
 AliITSv11.h:38
 AliITSv11.h:39
 AliITSv11.h:40
 AliITSv11.h:41
 AliITSv11.h:42
 AliITSv11.h:43
 AliITSv11.h:44
 AliITSv11.h:45
 AliITSv11.h:46
 AliITSv11.h:47
 AliITSv11.h:48
 AliITSv11.h:49
 AliITSv11.h:50
 AliITSv11.h:51
 AliITSv11.h:52
 AliITSv11.h:53
 AliITSv11.h:54
 AliITSv11.h:55
 AliITSv11.h:56
 AliITSv11.h:57
 AliITSv11.h:58
 AliITSv11.h:59
 AliITSv11.h:60
 AliITSv11.h:61
 AliITSv11.h:62
 AliITSv11.h:63
 AliITSv11.h:64
 AliITSv11.h:65
 AliITSv11.h:66
 AliITSv11.h:67
 AliITSv11.h:68
 AliITSv11.h:69
 AliITSv11.h:70
 AliITSv11.h:71
 AliITSv11.h:72
 AliITSv11.h:73
 AliITSv11.h:74
 AliITSv11.h:75
 AliITSv11.h:76
 AliITSv11.h:77
 AliITSv11.h:78
 AliITSv11.h:79
 AliITSv11.h:80
 AliITSv11.h:81
 AliITSv11.h:82
 AliITSv11.h:83
 AliITSv11.h:84
 AliITSv11.h:85