SND@LHC Software
Loading...
Searching...
No Matches
shipLHC_conf.py
Go to the documentation of this file.
1#!/usr/bin/env python
2# -*- coding: latin-1 -*-
3
4import ROOT,os
5import shipunit as u
6from ShipGeoConfig import ConfigRegistry
7detectorList = []
8
9def configure(run,ship_geo,Gfield=''):
10# -----Create media-------------------------------------------------
11 if hasattr(run,'SetMaterials'): run.SetMaterials("media.geo") # Materials
12
13# -----Create geometry----------------------------------------------
14 cave= ROOT.ShipCave("CAVE")
15 cave.SetGeometryFileName("caveWithAir.geo")
16 detectorList.append(cave)
17
18 floor = ROOT.Floor()
19 for parName in ship_geo.Floor:
20 parValue = eval('ship_geo.Floor.'+parName)
21 floor.SetConfPar("Floor/"+parName, parValue)
22 detectorList.append(floor)
23
24 EmulsionDet = ROOT.EmulsionDet("EmulsionDet",ROOT.kTRUE)
25 for parName in ship_geo.EmulsionDet:
26 parValue = eval('ship_geo.EmulsionDet.'+parName)
27 EmulsionDet.SetConfPar("EmulsionDet/"+parName, parValue)
28 detectorList.append(EmulsionDet)
29
30 Scifi = ROOT.Scifi("Scifi", ROOT.kTRUE)
31 for parName in ship_geo.Scifi:
32 parValue = eval('ship_geo.Scifi.'+parName)
33 Scifi.SetConfPar("Scifi/"+parName, parValue)
34 detectorList.append(Scifi)
35
36 MuFilter = ROOT.MuFilter("MuFilter",ROOT.kTRUE)
37 for parName in ship_geo.MuFilter:
38 parValue = eval('ship_geo.MuFilter.'+parName)
39 MuFilter.SetConfPar("MuFilter/"+parName, parValue)
40 detectorList.append(MuFilter)
41
42 detElements = {}
43 if hasattr(run,'SetMaterials'):
44 for x in detectorList:
45 run.AddModule(x)
46# return list of detector elements
47 for x in run.GetListOfModules(): detElements[x.GetName()]=x
48 else:
49 for x in detectorList: detElements[x.GetName()]=x
50 return detElements
void SetConfPar(TString name, Float_t value)
Definition EmulsionDet.h:67
void SetConfPar(TString name, Float_t value)
Definition MuFilter.h:43
void SetConfPar(TString name, Float_t value)
Definition Scifi.h:46
configure(run, ship_geo, Gfield='')