25TGeoMedium* 
BuildMaterial(
const TString material, FairGeoMedia* geoMedia, FairGeoBuilder* geoBuild)
 
   27    FairGeoMedium* fairMedium = geoMedia->getMedium(material);
 
   30        std::cout << 
"FairGeoMedium " << material << 
" not found" << std::endl;
 
   33    geoBuild->createMedium(fairMedium);
 
   34    TGeoMedium* med = gGeoManager->GetMedium(material);
 
   37        std::cout << 
"TGeoMedium " << material << 
" not found" << std::endl;
 
 
   47                            const Double_t length,
 
   49                            const Double_t coneRadius,
 
   50                            const Double_t coneLength)
 
   52    new TGeoBBox(name + 
"Box", length, width, width);
 
   53    new TGeoCone(name + 
"Cone", coneLength + 0.001, 0., coneRadius, 0., width * TMath::Sqrt(2.));
 
   54    new TGeoBBox(name + 
"Conebox", width, width, coneLength);
 
   55    TGeoShape* shape = 
new TGeoCompositeShape(
 
   57        name + 
"Box + ((" + name + 
"Conebox*" + name + 
"Cone):trc1) + ((" + name + 
"Conebox*" + name + 
"Cone):trc2)");
 
 
   67    FairGeoLoader* geoLoad = FairGeoLoader::Instance();
 
   68    FairGeoInterface* geoFace = geoLoad->getGeoInterface();
 
   69    geoFace->setMediaFile(TString(gSystem->Getenv(
"VMCWORKDIR")) + 
"/geometry/media_r3b.geo");
 
   71    FairGeoBuilder* geoBuild = geoLoad->getGeoBuilder();
 
   72    FairGeoMedia* geoMedia = geoFace->getMedia();
 
   73    const TGeoMedium* medBC408 = 
BuildMaterial(
"BC408", geoMedia, geoBuild);
 
   74    const TGeoMedium* medCH2 = 
BuildMaterial(
"polyethylene", geoMedia, geoBuild);
 
   75    const TGeoMedium* medAl = 
BuildMaterial(
"aluminium", geoMedia, geoBuild);
 
   78    TGeoRotation* r1 = 
new TGeoRotation();
 
   81    trc1->SetName(
"trc1");
 
   82    trc1->RegisterYourself();
 
   84    TGeoRotation* r2 = 
new TGeoRotation();
 
   87    trc2->SetName(
"trc2");
 
   88    trc2->RegisterYourself();
 
   91    const TGeoShape* shapeBC408 =
 
   99    const TGeoShape* shapeAlWrapping = 
new TGeoCompositeShape(
"shapeAlWrapping", 
"shapeAlWrappingSolid - shapeBC408");
 
  106    const TGeoShape* shapeTapeWrapping =
 
  107        new TGeoCompositeShape(
"shapeTapeWrapping", 
"shapeTapeWrappingSolid - shapeAlWrappingSolid");
 
  111    TGeoVolume* volBC408 = 
new TGeoVolume(
"volBC408", shapeBC408, medBC408);
 
  112    volBC408->SetLineColor(33); 
 
  113    volBC408->SetTransparency(30);
 
  114    TGeoVolume* volAlWrapping = 
new TGeoVolume(
"volAlWrapping", shapeAlWrapping, medAl);
 
  115    volAlWrapping->SetLineColor(17); 
 
  116    TGeoVolume* volTapeWrapping = 
new TGeoVolume(
"volTapeWrapping", shapeTapeWrapping, medCH2);
 
  117    volTapeWrapping->SetLineColor(1); 
 
  120    TGeoVolume* volPaddle = 
new TGeoVolumeAssembly(
"volPaddle");
 
  121    volPaddle->AddNode(volBC408, 1);
 
  122    volPaddle->AddNode(volAlWrapping, 1);
 
  123    volPaddle->AddNode(volTapeWrapping, 1);
 
 
TGeoShape * BuildPaddleShape(const TString &name, const Double_t length, const Double_t width, const Double_t coneRadius, const Double_t coneLength)
Building the shape of a paddle The paddle end cones are created by intersection ("*") of a small box ...