Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-08-28 08:16:33

0001 <app-shell>
0002   <div centralPane class="fixed-width-page-content">
0003     <form>
0004 
0005       <mat-card class="config-card">
0006         <mat-card-title>Select Geometry and Events</mat-card-title>
0007         <mat-card-content>
0008           <div class="section">
0009             <h3>Examples:</h3>
0010             <p>Select example configuration preset</p>
0011             <firebird-resource-select
0012               #premadeGeometry
0013               [options]="quickLinkTitles"
0014               label="Premade configurations"
0015               (valueChange)="onPresetChange($event)">
0016             </firebird-resource-select>
0017           </div>
0018 
0019           <div class="section">
0020             <h3>Geometry</h3>
0021             <p>Select or type in your url for the geometry</p>
0022             <firebird-resource-select
0023               #geometrySelect
0024               [options]="geometryOptions"
0025               label="Geometry source">
0026             </firebird-resource-select>
0027           </div>
0028 
0029           <div class="section">
0030             <h3>Event Source: JSON</h3>
0031             <firebird-resource-select
0032               #dexJsonSelect
0033               [options]="trajectoryOptions"
0034               label="Load events from JSON files. Such files can be generated with 'pyrobird convert', merge or other tools">
0035             </firebird-resource-select>
0036           </div>
0037 
0038           <div class="section">
0039             <h3>EDM4EIC Event Source:</h3>
0040             <p>Select file with EDM4EIC data</p>
0041             <firebird-resource-select
0042               #edm4eicSelect
0043               [options]="edm4eicOptions"
0044               label="Load EDM4EIC .root Edm4Eic (this operation requires backend to be running)">
0045             </firebird-resource-select>
0046             <p>Event range to load (e.g. "0", "0,1,2", "0-5").
0047               It is recommended to load 1-10 events at a time. Not more!
0048             </p>
0049             <mat-form-field appearance="fill" class="full-width">
0050               <input matInput type="text" placeholder="0-5" [formControl]="rootEventRange">
0051             </mat-form-field>
0052           </div>
0053         </mat-card-content>
0054 
0055         <div class="action-buttons">
0056           <button type="button" mat-raised-button [routerLink]="['/display']">DISPLAY</button>
0057         </div>
0058 
0059       </mat-card>
0060 
0061 
0062 
0063 
0064       <mat-card class="config-card">
0065       <mat-card-title>Configure Geometry Pipeline</mat-card-title>
0066       <mat-card-content>
0067         <img src="assets/diagrams/geometry-pipeline.svg" alt="Geometry Pipeline" style="width:60%; text-align: center"/>
0068         <div class="subsection">
0069           <h3>Geometry Processing Options</h3>
0070           <p>(!) A page reload might be needed to see these changes</p>
0071 
0072 
0073           <div class="section">
0074             <h4>WebGL pipeline</h4>
0075             <p>Select how geometry looks and optimized</p>
0076             <mat-form-field appearance="fill" class="full-width">
0077               <mat-select [formControl]="geometryThemeName" [value]="geometryThemeName">
0078                 <mat-option value="cool2">Cool2 - (default) cold colors, optimized </mat-option>
0079                 <mat-option value="cool2no">Cool2 No Outline - cool2 but no outline for performance </mat-option>
0080                 <mat-option value="cad">CAD - like colors, optimized</mat-option>
0081                 <mat-option value="grey">Grey - mono colors</mat-option>
0082                 <mat-option value="off">Off (may hit performance)</mat-option>
0083               </mat-select>
0084             </mat-form-field>
0085             <p>Performance over quality (remove transparency, simple lights, etc.)</p>
0086             <mat-slide-toggle [formControl]="geometryFastAndUgly">Enabled</mat-slide-toggle>
0087           </div>
0088 
0089 
0090 
0091           <div class="section">
0092             <h4>ROOT Geo pipeline</h4>
0093 
0094             <p>Cut sub-detectors. Remove certain subdetectors such as FF, FB, some magnets and beam-pipe elements</p>
0095             <mat-form-field appearance="fill" class="full-width">
0096               <mat-select [formControl]="geometryCutListName" [value]="geometryCutListName">
0097                 <mat-option value="central">Show central detector only</mat-option>
0098                 <mat-option value="off">Off (don't remove anything)</mat-option>
0099               </mat-select>
0100             </mat-form-field>
0101 
0102             <p>Clean tree: remove elements such as glue layers, individual straws, ASICs, PCBs, etc.</p>
0103             <mat-form-field appearance="fill" class="full-width">
0104               <mat-select [formControl]="geometryRootFilterName" [value]="geometryRootFilterName">
0105                 <mat-option value="default">Default (remove glues, straws, thin layers, etc)</mat-option>
0106                 <mat-option value="off">Off (SLOW for full detector,)</mat-option>
0107               </mat-select>
0108             </mat-form-field>
0109           </div>
0110 
0111           <div class="action-buttons">
0112             <button type="button" mat-raised-button [routerLink]="['/display']">DISPLAY</button>
0113             <button type="button" mat-raised-button (click)="resetGeometryToDefaults()">Reset pipeline to Defaults</button>
0114           </div>
0115 
0116         </div>
0117 
0118 
0119       </mat-card-content>
0120     </mat-card>
0121 
0122       <mat-card class="config-card">
0123         <mat-card-title>Controls</mat-card-title>
0124         <mat-card-content>
0125           <div class="section">
0126             <h3>Game Controller</h3>
0127             <p>Enable game controller support for navigation</p>
0128             <mat-slide-toggle [formControl]="useController">Use controller</mat-slide-toggle>
0129             <div *ngIf="useController.value" style="margin-top: 10px; padding: 10px; background-color: rgba(0,0,0,0.05); border-radius: 4px;">
0130               <p style="margin: 0 0 10px 0;"><strong>Controller Button Mapping:</strong></p>
0131               <ul style="margin: 0; padding-left: 20px;">
0132                 <li>Left Stick: Rotate camera</li>
0133                 <li>A Button: Zoom out</li>
0134                 <li>X Button: Zoom in</li>
0135                 <li>B Button: Strafe left</li>
0136                 <li>RT Trigger: Strafe right</li>
0137                 <li>LT Trigger: Reset to default view</li>
0138               </ul>
0139             </div>
0140           </div>
0141         </mat-card-content>
0142       </mat-card>
0143 
0144       <mat-card class="config-card">
0145         <mat-card-title>Server API Configuration</mat-card-title>
0146         <mat-card-content>
0147           <mat-slide-toggle [formControl]="serverUseApi">Use specific backend</mat-slide-toggle>
0148           <div class="api-url">
0149             <mat-form-field appearance="fill" class="full-width">
0150               <mat-label>Base API URL</mat-label>
0151               <input matInput type="text" placeholder="Enter API URL: http://localhost:5454"
0152                      [formControl]="serverApiUrl" [disabled]="!serverUseApi.value">
0153             </mat-form-field>
0154           </div>
0155         </mat-card-content>
0156       </mat-card>
0157 
0158       <mat-accordion class="details-accordion">
0159         <mat-expansion-panel>
0160           <mat-expansion-panel-header>
0161             <mat-panel-title>
0162               Backend Details
0163             </mat-panel-title>
0164           </mat-expansion-panel-header>
0165           <table class="details-table">
0166             <thead>
0167             <tr>
0168               <th>Property</th>
0169               <th>Value</th>
0170             </tr>
0171             </thead>
0172             <tbody>
0173             <tr>
0174               <td>Served by Pyrobird</td>
0175               <td>{{ firebirdConfig.servedByPyrobird ? 'Yes' : 'No' }}</td>
0176             </tr>
0177             <tr>
0178               <td>API Available</td>
0179               <td>{{ firebirdConfig.apiAvailable ? 'Yes' : 'No' }}</td>
0180             </tr>
0181             <tr>
0182               <td>API Base URL</td>
0183               <td>{{ firebirdConfig.apiBaseUrl }}</td>
0184             </tr>
0185             <tr>
0186               <td>Log Level</td>
0187               <td>{{ firebirdConfig.logLevel }}</td>
0188             </tr>
0189             </tbody>
0190           </table>
0191         </mat-expansion-panel>
0192       </mat-accordion>
0193 
0194     </form>
0195   </div>
0196 </app-shell>