// Author: A.Morsch
//------------------------------------------------------------------------
-#include <TSystem.h>
-#include <TVirtualMC.h>
-#include <TString.h>
-#include <TGeoManager.h>
#include <TGeoBBox.h>
+#include <TGeoCompositeShape.h>
+#include <TGeoGlobalMagField.h>
+#include <TGeoManager.h>
#include <TGeoMatrix.h>
#include <TGeoPgon.h>
-#include <TGeoCompositeShape.h>
+#include <TString.h>
+#include <TSystem.h>
+#include <TVirtualMC.h>
+
#include "AliFRAMEv2.h"
#include "AliMagF.h"
#include "AliRun.h"
trB77B->RegisterYourself();
TGeoCompositeShape* shB77 = new TGeoCompositeShape("shB77", "shB77A+shB77B:trB77A+shB77B:trB77B");
TGeoVolume* voB77 = new TGeoVolume("B077", shB77, gGeoManager->GetMedium("FRAME_Air"));
+ voB77->SetName("B077"); // just to avoid a warning
gMC->Gspos("B077", 1, "ALIC", 0., 0., 0., 0, "ONLY");
//
// Reference plane #1 for TRD
}
-
+//___________________________________________
+void AliFRAMEv2::AddAlignableVolumes() const
+{
+ // Add the 18 spaceframe sectors as alignable volumes
+ TString basesymname("FRAME/Sector");
+ TString basevolpath("ALIC_1/B077_1/BSEGMO");
+ TString symname;
+ TString volpath;
+
+ for(Int_t sec=0; sec<18; sec++)
+ {
+ symname = basesymname;
+ symname += sec;
+ volpath = basevolpath;
+ volpath += sec;
+ volpath += "_1";
+ if(!gGeoManager->SetAlignableEntry(symname.Data(),volpath.Data()))
+ AliFatal(Form("Alignable entry %s not created. Volume path %s not valid",
+ symname.Data(),volpath.Data()));
+ }
+}
//___________________________________________
void AliFRAMEv2::CreateMaterials()
tmaxfd = -20.; // Maximum angle due to field deflection
deemax = -.3; // Maximum fractional energy loss, DLS
stmin = -.8;
- Int_t isxfld = gAlice->Field()->Integ();
- Float_t sxmgmx = gAlice->Field()->Max();
+ Int_t isxfld = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Integ();
+ Float_t sxmgmx = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Max();
Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
-void AliFRAMEv2::MakeHeatScreen(char* name, Float_t dyP, Int_t rot1, Int_t rot2)
+void AliFRAMEv2::MakeHeatScreen(const char* name, Float_t dyP, Int_t rot1, Int_t rot2)
{
// Heat screen panel
//
-void AliFRAMEv2::WebFrame(char* name, Float_t dHz, Float_t theta0, Float_t phi0)
+void AliFRAMEv2::WebFrame(const char* name, Float_t dHz, Float_t theta0, Float_t phi0)
{
//
// Create a web frame element