12 #define _USE_BEAST_TPC_DIGITIZER_
15 #define _CONTAINER_NAME_ "TpcContainer"
16 #define _GAS_VOLUME_NAME_ "GasVolume"
17 #define _FIELD_CAGE_NAME_ "FieldCage"
23 #ifdef _USE_BEAST_TPC_DIGITIZER_
30 tpc->SetFileName(
"tpc.root");
39 double innerGasVolumeRadius = 12.0;
40 double outerGasVolumeRadius = 42.0;
42 double gasVolumeLength = 30.0;
43 #ifdef _USE_BEAST_TPC_DIGITIZER_
46 tpc->mTotalGasVolumeLength = 10.0 * gasVolumeLength;
49 double fieldCageThickness = 0.2;
51 unsigned group =
tpc->AddLogicalVolumeGroup(0, 0, 2);
52 auto xmap =
tpc->CreateNewMap();
60 innerGasVolumeRadius - fieldCageThickness,
64 tpc->GetTopVolume()->AddNode(vfc, 0,
new TGeoCombiTrans(0.0, 0.0, 0.0, 0));
76 for(
unsigned ud=0; ud<2; ud++) {
78 UInt_t geant[1] = {ud}, logical[3] = {0, 0, ud};
79 if (
tpc->SetMappingTableEntry(xmap, geant, group, logical)) {
80 cout <<
"Failed to set mapping table entry!" << endl;
84 double zOffset = (ud ? -1. : 1.)*gasVolumeLength/4;
92 rw =
new TGeoRotation();
96 tpc->GetTopVolume()->AddNode(vgv, ud,
new TGeoCombiTrans(0.0, 0.0, zOffset, rw));
99 tpc->GetColorTable()->AddPatternMatch(
"FieldCage", kGray);
100 tpc->GetColorTable()->AddPatternMatch(
"GasVolume", kCyan);
101 tpc->GetTransparencyTable()->AddPatternMatch(
"GasVolume", 40);
106 tpc->FinalizeOutput();