Main configuration file

For example: baseline layout 3xPS_3x2S_5disks_baseline_pixelV0.cfg
@includestd SimParms

Tracker Outer {

    // Layout construction parameters
    zError 70
    bigDelta 12
    zOverlap 1
    phiOverlap 1
    etaCut 10
    barrelRotation 1.57079632679
    smallParity 1

    trackingTags trigger,tracker

    Barrel TBPS {
      Layer 1   { smallDelta 3.65 }
      Layer 2,3 { smallDelta 3.15 }
      numLayers 3
      maxZ 1150
      startZMode modulecenter
      innerRadius 230
      outerRadius 508
      width 96
      length 46.26
      physicalLength 71
      phiSegments 2
    }

    Barrel TB2S {
      smallDelta 3.022
      numLayers 3
      numModules 12
      startZMode moduleedge
      innerRadius 686 // was 687
      outerRadius 1080 
      //directive = 4/S
      sameRods true
      compressed false

      // Possible layers
      // 427 456 485 514 543 571 600 629 658 687 716 744 773 802 831 860 888 917 946 975 1004 1032 1061

      // Directives and options
      width 91.44
      length 100.5
      phiSegments 2
    }

    Endcap TEDD {
      // Mandatory parameters
      bigDelta 18.5  // NICK
      smallDelta 10  // NICK
      phiSegments 4
      numDisks 5
      // innerRadius = 278 // 222 is eta=2.5
      numRings 15
      outerRadius 1095
      barrelGap 180.
      maxZ 2650 
      bigParity 1
      Ring 14 { ringGap 1.472 }
      Ring 13 { ringGap 0.621 }
      Ring 12 { ringGap 1.972 }
      Ring 11 { ringGap 1.135 }
      Ring 10 { ringGap 2.197 }
      Ring  9 { ringGap 0.878 }
      Ring  8 { ringGap 11.923 }
      Ring  5 { ringGap 1.500 }

      alignEdges false
      moduleShape rectangular
      
      Ring 1-9 {
        width 96
        length 46.26
      }
      Ring 10-15 {
        width 91.44
        length 100.5
      }
    }

    @include 3xPS_3x2S_5disks_baseline_Types.cfg
}

Support {
  midZ 290
}

@include ../Pixel/PixelV0.cfg
Let's break it into parts

SimParms

the command
@includestd SimParms
includes the file named SimParms from the "standard include directory" ~/tklayout-files/config/stdinclude.
This factorizes out the configuration of the simulation itself and some other parameters, here it is:
SimParms {
    numMinBiasEvents 140
    bunchSpacingNs 25
    zErrorCollider 70
    rError 5
    efficiency 1
    useIPConstraint 0
    numInvFemtobarns 3000
    operatingTemp -20
    referenceTemp 20
    chargeDepletionVoltage 600
    alphaParam 5.3e-17
    pixelEfficiency 1

    numTriggerTowersEta 6
    numTriggerTowersPhi 8
    triggerPtCut 2
    triggerEtaCut 2.2
}

Tracker

Tracker Outer {
    zError 70
    bigDelta 12
    zOverlap 1
    phiOverlap 1
    etaCut 10
    barrelRotation 1.57079632679
    smallParity 1
    trackingTags trigger,tracker
    ...
}

Barrel

    Barrel TBPS {
      Layer 1   { smallDelta 3.65 }
      Layer 2,3 { smallDelta 3.15 }
      numLayers 3
      maxZ 1150
      startZMode modulecenter
      innerRadius 230
      outerRadius 508
      width 96
      length 46.26
      physicalLength 71
      phiSegments 2
    }

Endcap

    Endcap TEDD {
      // Mandatory parameters
      bigDelta 18.5  // NICK
      smallDelta 10  // NICK
      phiSegments 4
      numDisks 5
      // innerRadius = 278 // 222 is eta=2.5
      numRings 15
      outerRadius 1095
      barrelGap 180.
      maxZ 2650 
      bigParity 1
      Ring 14 { ringGap 1.472 }
      Ring 13 { ringGap 0.621 }
      Ring 12 { ringGap 1.972 }
      Ring 11 { ringGap 1.135 }
      Ring 10 { ringGap 2.197 }
      Ring  9 { ringGap 0.878 }
      Ring  8 { ringGap 11.923 }
      Ring  5 { ringGap 1.500 }

      alignEdges false
      moduleShape rectangular
      
      Ring 1-9 {
        width 96
        length 46.26
      }
      Ring 10-15 {
        width 91.44
        length 100.5
      }
    }

Pixel

How about the pixels? That is quite easily explained: the pixel detector is handled like a small "tracker inside the tracker". You will notice that by following the @include statement you will find another tracker definition with its barrels and end-caps.