Message: optical photons and G4VPVParameterisation Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question optical photons and G4VPVParameterisation 

Forum: Processes Involving Optical Photons
Date: 10 Oct, 2014
From: Jelena Ilic <Jelena Ilic>

Hi,

My geometry is a block of tungsten filled with a large number of quartz tubes which are again filled with a liquid scintillator. I measure energy deposited in the scintillator tubes, the number of scintillation photons produced and the number of scintillation photons exiting my tungsten block . At the beginning ( when I had reasonably small number of scintillator tubes in my geometry) I used G4PVPlacement to arrange them inside the tungsten block. Now I have to analysed a setup with >3000 tubes (placed in 5x5X10 cm block), so I decided to arrange them using G4VPVParameterisation. The geometry looks fine and everything runs faster. The measured energy deposition is similar, but what really seems to be a problem is the number of scintillation photons exiting the calorimeter.

For the case when 2 GeV e- hits the 5x5X10 cm tungsten block with of 40x40 tubes (diameter 0.8mm):

               |using  G4PVPlacement    |  using  G4VPVParameterisation
------------------------------------------------------------
eDep       |     13192 (keV)               | 14192.1 (keV)
------------------------------------------------------------
noScint    |     5254                         |  4
exiting     

The same seed number is used in the both cases. To get the number of optical photons leaving the calo  in my PostUserTrackingAction I have this code:
//-----------
//optical photons EXITING (z>0) calorimeter
        if(particleType==G4OpticalPhoton::OpticalPhotonDefinition() ){

            G4String name = theTrack->GetCreatorProcess()->GetProcessName();
            if( name == "Scintillation"){

                G4ThreeVector position = theTrack->GetPosition();
                G4ThreeVector vertex   = theTrack->GetVertexPosition();

                G4bool transmit = ((position.z() >= 0) && (vertex.z() < 0));
                G4bool reflect  =  (position.z() <= 0);
                G4bool notabsor = (transmit || reflect);

                if (transmit) { eventInformation->IncCounter();}

            }
        }
//---------

 Why do I see such difference in the number of optical photons exiting callorimeter when G4VPVParameterisation is used?

Thank you

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Feedback: Re: optical photons and G4VPVParameterisation   (Gumplinger Peter - 10 Oct, 2014)
1 None: Re: optical photons and G4VPVParameterisation   (Jelena Ilic - 11 Oct, 2014)
2 Ok: Re: optical photons and G4VPVParameterisation   (Jelena Ilic - 13 Oct, 2014)
 Add Message Add Message
to: "optical photons and G4VPVParameterisation"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews