alcap-org / g4sim

Simulation toolkit based on Geant4 and ROOT
http://wuchen1106.github.io/g4sim/
2 stars 2 forks source link

Summary of Questions from Collaboration Meeting #46

Open AndrewEdmonds11 opened 9 years ago

AndrewEdmonds11 commented 9 years ago

At the last collaboration meeting there were many questions about the Monte Carlo simulation. Here is a summary of what I noted/remember and any work donw will be opened in a separate ticket. Please add any others that I've forgotten.

muPC Position Mode This needs checking and is the reason why the stopping depth in the Al100 target is different for Nam and I. One worry in particular is that there is a lot of momentum lost between the end of the beam pipe and the collimator (~15 MeV/c of a 30 MeV/c beam). To check, a run with multiple monitors will be performed.

Check Effect of Moving Beam Left/Right This is more important than moving the target since we know from MuSun experience that the beam can be moved in this way more than we expect.

Stopping Depth X-Z Plot should be diagonal? Since these plots are in local coordinates and the target is at 45 degrees the beam should be coming in at a 45 degree angle. This needs to be checked.

Determine how much of an effect running in air has This is so we can check that it's fine for the gamma and neutron mesurements in the next run

benkrikler commented 9 years ago

There was also:

Replace inside of chamber with cylindrical daughter volume made of vacuum to see if this improves to run time
Clearly that's not so urgent, for the current program though...

AndrewEdmonds11 commented 9 years ago

I did check that and I think it's already there. From sub_all/subgeo_Al50:

#Tubs info
#       Type RMin RMax  Length Start Span Name              RepNo MotVolume Material  SDName    posX posY  posZ   Ephi   Ethe   Epsi  
#            mm   mm    mm     deg   deg                                                        mm   mm    mm     deg    deg    deg   
#                                                                                       P R    Phi   Z     
#                                                                                       S R    Phi   Theta 
        T    0    RO    HO     0     360  tubChamber
        T    0    Rt    Ht     0     360  tubChamberCover
        T    0    Rp1O  Lp1    0     360  tubBeamPort 
        T    0    Rp1I  Lp1+1  0     360  cutBeamPort 
        T    0    Rp2O  Lp2    0     360  tubDetectorPort
        T    0    Rp2I  Lp2+1  0     360  cutDetectorPort
        T    0    Rp0O  LpUR   0     360  tubURPort   
        T    0    Rp0I  LpUR   0     360  cutURPort   
        T    0    Rp0O  LpUL   0     360  tubULPort   
        T    0    Rp0I  LpUL   0     360  cutULPort   
        T    0    Rp0O  LpDR   0     360  tubDRPort   
        T    0    Rp0I  LpDR   0     360  cutDRPort   
        T    0    Rp0O  LpLo   0     360  tubLowerPort
        T    0    Rp0I  LpLo   0     360  cutLowerPort
        T    0    RI    HI     0     360  ChamberIn         1     World     VacuumPSI none         0  -Z0   0      0    -90     90
        T    0    Rp1I  thw0   0     360  BeamWindow        1     World     Mylar     none    S pRw0   0    180    0      0      0
  T    0    Rp1I  thTp   0     360  BeamWindowT       1     World     PVF       none    S pBlackTape   0    180    0      0      0
        T    0    Rp2I  thw1   0     360  DetectorWindow    1     World     Mylar     none    S pRw1   0    45    90   -135      0 
        T    0    RGe   LGe    0     360  GeBody
        T    0    RiGe  LGe    0     360  GeHole
        T    0    Rp0I  thUL   0     360  flUL              1     World     Aluminium none        S pRUL   0    135   90   -45      0 

We can see that ChamberIn is placed in the World. And then for the boolean solid:

#BooleanSolid info
#       Type type  vol1         vol2              Ephi Ethe Epsi PosX  PosY PosZ   name         RepNo MotVolume  Material SDName    posX posY posZ Ephi Ethe Epsi  
#                                                 deg  deg  deg  mm    mm   mm                                                      mm   mm   mm   deg  deg  deg   
#                                                              P R     Phi  Z                                               P R    Phi  Z    
#                                                              S R     Phi  Theta                                           S R    Phi  Theta
        BL   plus  tubChamber   tubChamberCover   0    0    0  P 0     0    HI/2   blChamber1
        BL   plus  blChamber1   tubBeamPort       90   90   0  P RO    0    Z0     blChamber2
        BL   plus  blChamber2   tubDetectorPort  -45   90   0  P RO   -135  Z0     blChamber3
        BL   plus  blChamber3   tubURPort        -45   90   0  P RO    45   Z0     blChamber4
        BL   plus  blChamber4   tubULPort         45   90   0  P RO   -45   Z0     blChamber5
        BL   plus  blChamber5   tubDRPort         45   90   0  P RO    135  Z0     blChamber6
        BL   plus  blChamber6   tubLowerPort      45   90   0  P RO    135  ZLo    blChamber7
        BL   minus blChamber7   cutBeamPort       90   90   0  P RO    0    Z0     blChamber8 
        BL   minus blChamber8   cutDetectorPort  -45   90   0  P RO   -135  Z0     blChamber9 
        BL   minus blChamber9   cutURPort        -45   90   0  P R0    45   Z0     blChamber10
        BL   minus blChamber10  cutULPort         45   90   0  P RO   -45   Z0     blChamber11
        BL   minus blChamber11  cutDRPort         45   90   0  P R0    135  Z0     blChamber12
        BL   minus blChamber12  cutLowerPort      45   90   0  P R0    135  ZLo    blChamber13
        BL   minus blChamber13  ChamberIn         0    0    0  P 0     0    0      Chamber      1     World      Steel    none      0   -Z0   0    0   -90   90
        BL   minus GeBody       GeHole            0    0    0    0     0   -dGe    Ge           1     World Germanium M/MonitorSD S pRGe  0  135  90   -45    0 

ChamberIn is only used to subtract from the rest of the solid, so I think the tracking should be OK.

benkrikler commented 9 years ago

It's hard for me to follow that. Is it case insensitive? If so it seems ChamberIn is placed twice but as a different volume. If not, I'm not sure where the parameters are for ChamberIn and I'm also unsure why chamberIn would be in the world volume, not the actual chamber, without causing an overlap problem.

If you stick a simpler cylinder in this volume which goes up to the edge of the chamber then at least within that cylinder the voxelizer doesn't have to anything with the boolean parts of the parent.

IssueHiJacker

jrquirk commented 9 years ago

ChamberIn shouldn't be a part of the boolean buildup, Get rid of that line in the second excerpt and see what happens. If it's placed, it won't need to be subtracted.