//h es la altura de cada capa de la atmosfera (Si se quiere cambiar el largo, ZWorld, de la atmosfera, 4e3 se debe reemplazar por el largo total deseado)
//Esta divido entre 5 porque es el numero de capas que queremos si queremos mas o menos capas hay que reemplazar el 5, por el numero de capas deseado.
//density0 * pow((1 - (kappa - 1) / kappa * M * g0 * h / (R * T)), (1 / (kappa - 1)) es la formula del modelo de presion que usamos.
Air[i]=newG4Material("G4_AIR_"+stri.str(),density,3);// G4Material(Nombre del material, densidad, numero de elementos que tiene el material) // ("G4_AIR_" + stri.str() is the name of the material. It uses a string that combines "G4_AIR_" with the value of stri.str() to create unique names for each material.)
// La composición del material. Especificamos los elementos y sus proporciones.
physAir[i]=newG4PVPlacement(0,G4ThreeVector(0,0,zWorld/5.*2.*i-zWorld+zWorld/5.),logicAir[i],"physAir",logicWorld,false,i,true);//Aqui tambien se debe reemplazar el 5 que divide zWorld, si se desea cambiar el numero de capas de la atmosfera.
G4Box*solidDetector=newG4Box("solidDetector",xWorld,yWorld,400*m);//Dimension del detector, z debe ser la altura de cada capa entre 2, es decir, h/2. No pude hacerlo menos alto, me lanza errores de Overlap, pero si el detector era del largo de la capa entonces funcionaba sin problemas asi que lo deje asi. EL Problema en este caso Es que el suelo no sera nunca 0, el suelo en nuestro caso esta en 800m porque ahi es donde se encuentra la primera capa del detector. Asi que al final las particulas se estan propagando por 3200m de atmosfera y son medidos a una altura de 800msnm.
logicDetector=newG4LogicalVolume(solidDetector,worldMat,"logicDetector");// El material dentro del detector es aire generico. No el que creamos. Pero no importa, igual no afecta en nada las mediciones.
G4VPhysicalVolume*physDetector=newG4PVPlacement(0,G4ThreeVector(0.*m,0.*m,1600.*m),logicDetector,"physDetector",logicWorld,false,0,true);// Ubicacion del detector en el mundo. 1600 indica que se esta midiendo en el primer nivel de observacion (cerca del suelo). SI se quiere medir en el segundo nivel z es 800, en el 3er nivel z = 0, en el 4to nivel z= -800, y en el 5to (la que esta pegada a la fuente) z = -1600. Pendiente del signo en Z, es importante. Estos numero son asi porq el largo de la atmosfera es 4000m si se cambia el largo de la atmosfera estos numeros deben cambiar, CUIDADO!!