* $Id$
*/
+#include <TArrayD.h>
#include <TGeoManager.h>
#include <TVirtualMC.h>
#include <TString.h>
#include <TArrayI.h>
#include <TPolyLine.h>
#include <TPolyMarker.h>
-#include <AliITSv11Geometry.h>
+#include "AliITSv11Geometry.h"
class TGeoVolume;
class TGeoCompositeShape;
+using std::istream;
+
class AliITSv11GeometrySPD : public AliITSv11Geometry
{
public:
{return (lay==1) ? GetSenstiveVolumeName1():GetSenstiveVolumeName2();}
// get medium
virtual TGeoMedium* GetMedium(const char* mediumName,
- TGeoManager *mgr = gGeoManager) const;
+ const TGeoManager *mgr = gGeoManager) const;
// retrieve the mounting location and rotation needed to mount an SPD stave
+ virtual Int_t GetSPDsectorX0Size() const
+ {return fSPDsectorX0.GetSize();}
virtual Bool_t GetSectorMountingPoints(Int_t index, Double_t &x0,
Double_t &y0, Double_t &x1, Double_t &y1) const;
// displace the staves on the carbon fiber sector
virtual TGeoVolume* CreatePatchPanel(TArrayD &sizes,
TGeoManager *mgr = gGeoManager) const;
- virtual TList* CreateConeModule(const Double_t angle,
+ virtual TList* CreateConeModule(Bool_t sideC, const Double_t angle,
TGeoManager *mgr = gGeoManager) const;
virtual void CreateCones(TGeoVolume *moth) const;
+/* virtual*/ void CreateServices(TGeoVolume *moth) const;
// a half-stave (put together ladders + MCM + bus, and add clips
// if requested)
virtual TGeoVolumeAssembly* CreateHalfStave(Bool_t isRight, Int_t layer,
virtual TGeoVolumeAssembly* CreateStave(Int_t layer, TArrayD &sizes,
/*Bool_t addClips = kFALSE,*/TGeoManager *mgr = gGeoManager);
// the complete Carbon Fiber sector (support + staves)
- virtual void CarbonFiberSector(TGeoVolume *moth, Double_t &xAAtubeCenter0,
+ virtual void CarbonFiberSector(TGeoVolume *moth, Int_t sect, Double_t &xAAtubeCenter0,
Double_t &yAAtubeCenter0, TGeoManager *mgr = gGeoManager);
// the whole SPD barrel (the 10 sectors at once)
virtual void SPDSector(TGeoVolume *moth, TGeoManager *mgr = gGeoManager);
Bool_t CFHolePoints(Double_t s,Double_t r1,Double_t r2,Double_t l,
Double_t &x,Double_t &y)const;
+ // create the cooling tubes going from the manifolds to the staves
+ void CreateCoolingTubes(TGeoVolume *moth, Bool_t sideC) const;
+
/* Data members */
static const Double_t fgkGapLadder;// thicknes of the empty (air) gap left