Message: Implementing helically wound cathode strips Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Implementing helically wound cathode strips 

Forum: Geometry
Date: 11 May, 2007
From: Jamie Robinson <j.robinson@physics.gla.ac.uk>

I am a novice programmer currently trying to implement Multi Wire Proportional Counters into the world detector volume (Crystal Ball A2@MAMI in Mainz)

I have successfully modelled both gas chambers,supports, electronics and adode wires but have came unstuck when trying to implement the helically wound cathode strips.

These cathode strips are deposited on the internal surfaces of the chamber walls and are helically wound at angles of +-45 degrees to the anode wires. Each strip is 0.1um thick by 4mm wide with a gap of 0.5mm between adjacent strips. I have tried using a TwistedTub geometry to model these strips with the following parameters (for the inner cathode strips deposited on the inner chamber - there are 60 of these strips and the internal radius is 60mm)

 G4double  in_twistedangle=315*deg;     // Twisted angle
  G4double endinnerrad=0.0000001*cm;     // Inner radius at endcap 
  G4double endouterrad=0.0000002*cm;    // Outer radius at endcap 
  G4double halfzlen=18*cm;        // half z length 
  G4double dphi=360*deg;           // Phi angle of a segment

However when placed in the world volume these stips are paralles to the anode wires and also the TwistedTub geometry doesnt have a parameter for the width of each strip(4mm). Is the G4TwistedTub geometry the way to implement such strips or have i put in the wrong value parameters for what i want to do. Here is an extract of my code for trying to loop these strips into the inner gas chamber

G4VPhysicalVolume* A2TestTwstTube::Construct(G4LogicalVolume* MotherLogical){

 fMotherLogic=MotherLogical;

 MakeCathodeStrips1();  

 MakeCathodeStrips2();

  G4double moth_rin=5.56*cm; //May need to change to 5.55 (clash with supports)
  G4double moth_rout=10.0*cm;
  G4double moth_z=50.0*cm;          
  G4Tubs *MWPCMother=new G4Tubs("MWPC",moth_rin,moth_rout,moth_z,0*deg,360*deg);

  fMyLogic=new G4LogicalVolume(MWPCMother,fNistManager->FindOrBuildMaterial("G4_AIR"),"MWPC");

  fMyPhysi = new G4PVPlacement(0,G4ThreeVector(0,0,0),fMyLogic,"MWPC",fMotherLogic,false,1);

  MakeDetector();  

  fMyLogic->SetVisAttributes (G4VisAttributes::Invisible);

return fMyPhysi; }

void A2TestTwstTube::MakeCathodeStrips1(){ 
  //Make single inner cathode strip for chamber 1
  G4double  in_twistedangle=315*deg;     // Twisted angle
  G4double endinnerrad=0.0000001*cm;     // Inner radius at endcap 
  G4double endouterrad=0.0000002*cm;    // Outer radius at endcap 
  G4double halfzlen=18*cm;        // half z length 
  G4double dphi=360*deg;           // Phi angle of a segment

  fICS1=new G4TwistedTubs("InnerCathodeStrip1",in_twistedangle,endinnerrad,endouterrad,halfzlen,dphi);
 fICS1Logic=new G4LogicalVolume(fICS1,fNistManager->FindOrBuildMaterial("G4_Al"),"ISC1L");

  G4VisAttributes* ic_visatt = new G4VisAttributes();
  ic_visatt->SetColor(G4Color(0,1,0));
  fICS1Logic->SetVisAttributes(ic_visatt);

void A2TestTwstTube::MakeDetector(){

for(G4int i=0;i<fNIStrips1;i++){
  G4double IC_Rad=6*cm; //Inner Cathode Radius
  G4double IC_Angle=6*deg; //360deg/fNIStrips1=6*deg
  G4double xpos=IC_Rad*cos(IC_Angle*i);      
  G4double ypos=IC_Rad*sin(IC_Angle*i);
  G4ThreeVector dpos(xpos,ypos,0);

  fICS1Physi[i]= new G4PVPlacement(0,dpos,fICS1Logic,"ICS1P",fMyLogic,false,i);

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

1 None: Re: Implementing helically wound cathode strips   (J.Robinson - 18 May, 2007)
 Add Message Add Message
to: "Implementing helically wound cathode strips"

 Subscribe Subscribe

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


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]