test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
DDPixBarTPGStackLayerAlgo Class Reference

#include <DDPixBarTPGStackLayerAlgo.h>

Inheritance diagram for DDPixBarTPGStackLayerAlgo:

Public Member Functions

 DDPixBarTPGStackLayerAlgo ()
 
void execute (DDCompactView &cpv)
 
void initialize (const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs)
 
virtual ~DDPixBarTPGStackLayerAlgo ()
 

Private Attributes

double activeWidth
 
double coolDz
 
std::string coolMat
 
int coolNumber
 
double coolSide
 
double coolThick
 
double coolWidth
 
double coolZ
 
double hybridThick
 
std::string idNameSpace
 
std::string ladderNameDown
 
std::string ladderNameUp
 
double ladderThick
 
double ladderWidth
 
double layerDz
 
double layout
 
double module_offset
 
double moduleRadius
 
int number
 
double sensorEdge
 
std::string tubeMat
 
std::string VolumeMaterial
 

Detailed Description

Definition at line 10 of file DDPixBarTPGStackLayerAlgo.h.

Constructor & Destructor Documentation

DDPixBarTPGStackLayerAlgo::DDPixBarTPGStackLayerAlgo ( )

Definition at line 22 of file DDPixBarTPGStackLayerAlgo.cc.

References LogDebug.

22  {
23  LogDebug("PixelGeom") <<"DDPixBarTPGStackLayerAlgo info: Creating an instance";
24 }
#define LogDebug(id)
DDPixBarTPGStackLayerAlgo::~DDPixBarTPGStackLayerAlgo ( )
virtual

Definition at line 28 of file DDPixBarTPGStackLayerAlgo.cc.

28 {}

Member Function Documentation

void DDPixBarTPGStackLayerAlgo::execute ( DDCompactView cpv)

Definition at line 85 of file DDPixBarTPGStackLayerAlgo.cc.

References activeWidth, coolDz, coolMat, coolNumber, coolSide, coolThick, coolWidth, coolZ, funct::cos(), gather_cfg::cout, DDBase< N, C >::ddname(), DDrot(), DDSplit(), Exception, plotBeamSpotDB::first, hybridThick, i, cutBasedElectronID_PHYS14_PU20bx25_V1_cff::idName, idNameSpace, ladderNameDown, ladderNameUp, ladderThick, ladderWidth, layerDz, layout, LogDebug, module_offset, moduleRadius, DDName::name(), mergeVDriftHistosByStation::name, DDBase< N, C >::name(), number, SpecificationBuilder_cfi::parent(), phi, DDCompactView::position(), diffTwoXMLs::r1, diffTwoXMLs::r2, CosmicsPD_Skims::radius, makeMuonMisalignmentScenario::rot, edm::second(), funct::sin(), mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), DDSolidFactory::trap(), tubeMat, DDSolidFactory::tubs(), and VolumeMaterial.

85  {
86  if ((number%2==1)&&(layout==1)) {
87  number+=1;
88  std::cout << "\nAsking for an invalid layout ... Adjusting the number of ladders to compensate.\n";
89  }
90  // Keep a running tally to check that there are no phi gaps.
91  double phi_coverage = 0.0; // Running total of Phi coverage
92  bool covered=0; // Set to 1 when there is at least 2Pi of coverage in phi
93  double dphi = CLHEP::twopi/number; // Phi difference between successive ladders
94  double phi_offset = module_offset; // Phi rotation of the ladders
95  double radius_offset = 0.0; // Distance from <R> that the stacks are shifted in or out
96  double deltaX, deltaY; // Offset to correct for ladder thickness
97  double deltaX2, deltaY2; // Offset for cooling tube 2
98  double r_vol_inner = 0.0; // Define the cylinder that the stacks are in
99  double r_vol_outer = 0.0; //
100  double phi_coverage_pinn =0.0; // phi coverage, phi_coverage_pinn = phi_left + phi_right
101  double phi_left = 0.0; //
102  double phi_right = 0.0; //
103 
104 
105  // Set parameters for the Phi Rotated Stacks as default
106  double d1 = (ladderThick)*tan(phi_offset);
107  double d2 = (ladderThick)/cos(phi_offset);
108  double d3 = (moduleRadius+d2);
109  double d4 = ((activeWidth/2.0)-d1);
110  double r_right = sqrt( d3*d3 + d4*d4 + 2*d3*d4*sin(phi_offset)) ; // Radius of the outer edge of the active area
111  phi_right=acos( (r_right*r_right + d3*d3 - d4*d4)/
112  (2*d3*r_right)
113  );
114  double d5 = sqrt(d1*d1+d2*d2);
115  double d6 = (moduleRadius-d5);
116  double r_left = sqrt ( d4*d4 + d6*d6 - 2*d4*d6*sin(phi_offset) ) ; // Radius of the inner edge of the active area
117  phi_left=acos( (r_left*r_left + d6*d6 - d4*d4)/
118  (2*d6*r_left)
119  );
120  if (r_right> r_left ) {r_vol_outer=r_right;r_vol_inner=r_left;}
121  if (r_left > r_right) {r_vol_outer=r_left;r_vol_inner=r_right;}
122 
123  phi_coverage_pinn=phi_left+phi_right;
124  //std::cout << "\nDetermining the radii, r_in="<<r_vol_inner <<" mod_R="<<moduleRadius<<" r_out="<<r_vol_outer;
125  // Set parameters if High-Low Stacks are requested
126  if(layout) {
127  phi_offset = 0.0;
128  phi_coverage_pinn = 0.0; // Determin for each ladder when placed
129  double R_Curvature = ((4*moduleRadius*moduleRadius)+(ladderWidth*ladderWidth/4))/(4*moduleRadius); // The radius of the ends of the inner stack
130  double r2 = (R_Curvature+ladderThick);
131  double r1 = sqrt((R_Curvature*R_Curvature)-(ladderWidth*ladderWidth/4.0))-(ladderThick);
132 
133  radius_offset = (r1-r2)/2.0;
134  r_vol_inner = r1-(ladderThick);
135  r_vol_outer = sqrt((ladderWidth*ladderWidth/4.0)+((r2+ladderThick)*(r2+ladderThick)));
136  // phi_left and phi_right depend on R so they will be determined later
137  // std::cout << "\nDetermining the radii, r_in="<<r_vol_inner <<" r1="<<r1<< " R_c="<<R_Curvature<<" r2="<<r2<<" r_out="<<r_vol_outer;
138  }
139 
140  double r_vol_innerT;
141  if(r_vol_inner>r_vol_outer) {
142  r_vol_innerT=r_vol_inner;
143  r_vol_inner=r_vol_outer-30;
144  r_vol_outer=r_vol_innerT+30;
145  }
146 
148 
149  int component_copy_no=1;
150  double phi0 = 90*CLHEP::deg;
151  double phi =0*CLHEP::deg;
152  double phix=0*CLHEP::deg;
153  double phiy=0*CLHEP::deg;
154  DDTranslation tran;
155  DDRotation rot;
156 
157 
158  //std::cout << "\nDDPixBarTPGStackLayerAlgo test: r_mid_L_inner/r_mid_L_outer " << r_vol_inner << ", " << r_vol_outer ;
159  //<< " d1/d2 " << d1 << ", " << d2
160  //<< " x1/x2 " << x1 << ", " << x2;
161 
162 
163 //------------------------------------------------------------------------------------------------------------
164 // Define the volume in which the layer exists
165 
166  DDName mother = parent().name();
167  std::string idName = DDSplit(mother).first;
168 
169  DDSolid solid = DDSolidFactory::tubs(DDName(idName, idNameSpace), 0.5*layerDz, r_vol_inner, r_vol_outer, 0, CLHEP::twopi);
170 
172  DDMaterial matter(matname);
173  DDLogicalPart layer(solid.ddname(), matter, solid);
174 
175  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo test: "
176  << DDName(idName, idNameSpace) << " Tubs made of "
177  << VolumeMaterial << " from 0 to " << CLHEP::twopi/CLHEP::deg
178  << " with Rin " << r_vol_inner << " Rout " << r_vol_outer
179  << " ZHalf " << 0.5*layerDz;
180 
181 //------------------------------------------------------------------------------------------------------------
182 // Define the cool tube
183 
184  name = idName + "CoolTube";
185  solid = DDSolidFactory::trap(DDName(name,idNameSpace), 0.5*coolDz, 0, 0, coolWidth/2, coolSide/2, coolSide/2, 0, coolWidth/2, coolSide/2, coolSide/2, 0);
186 
187  matter = DDMaterial(DDName(DDSplit(tubeMat).first, DDSplit(tubeMat).second));
188  DDLogicalPart coolTube(solid.ddname(), matter, solid);
189 
190  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo test: " <<solid.name()
191  << " Trap made of " << tubeMat << " of dimensions "
192  << 0.5*coolDz << ", 0, 0, " << coolWidth/2 << ", " << coolSide/2
193  << ", " << coolSide/2 << ", 0, " << coolWidth/2 << ", " << coolSide/2 << ", "
194  << coolSide/2 << ", 0";
195 
196 
197 //------------------------------------------------------------------------------------------------------------
198 // Define the coolant within the cool tube = same as cooltube - wall thickness
199 
200  name = idName + "Coolant";
201 
203  matter = DDMaterial(DDName(DDSplit(coolMat).first, DDSplit(coolMat).second));
204  DDLogicalPart cool(solid.ddname(), matter, solid);
205 
206  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo test: " <<solid.name()
207  << " Trap made of " << tubeMat << " of dimensions "
208  << 0.5*coolDz << ", 0, 0, " << coolWidth/2-coolThick << ", " << coolSide/2-coolThick
209  << ", " << coolSide/2-coolThick << ", 0, " << coolWidth/2-coolThick << ", " << coolSide/2-coolThick << ", "
210  << coolSide/2-coolThick << ", 0";
211 
212 
213 //------------------------------------------------------------------------------------------------------------
214 // Put coolant in the cool tube
215 
216  cpv.position (cool, coolTube, 1, DDTranslation(0.0, 0.0, 0.0), DDRotation());
217 
218  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo test: " << cool.name()
219  << " number 1 positioned in " << coolTube.name()
220  << " at (0,0,0) with no rotation";
221 
222 //------------------------------------------------------------------------------------------------------------
223 // Define the ladder
224 
225  DDName ladderFullUp(DDSplit(ladderNameUp).first, DDSplit(ladderNameUp).second);
226  DDName ladderFullDown(DDSplit(ladderNameDown).first, DDSplit(ladderNameDown).second);
227 
228 //------------------------------------------------------------------------------------------------------------
229 
230 
231 // Iterate over the number of modules
232 
233  for (int i=0; i<number; i++) {
234 
235  double phi_coverage_i=0.0;
236  // First the modules
237  phi = phi0 + i*dphi;
238  phix = phi + (90*CLHEP::deg) - phi_offset ;
239  phiy = phix + (90*CLHEP::deg) ;
240 
241  deltaX= 0.5*ladderThick*cos(phi-phi_offset);
242  deltaY= 0.5*ladderThick*sin(phi-phi_offset);
243 
244  double radius;
245  if((i%2)==0) radius=moduleRadius-radius_offset;
246  else radius=moduleRadius+radius_offset;
247 
248  //inner layer of stack
249  tran = DDTranslation(radius*cos(phi)-deltaX, radius*sin(phi)-deltaY, 0);
250  name = idName + std::to_string(component_copy_no);
251  rot = DDrot(DDName(name,idNameSpace), 90*CLHEP::deg, phix, 90*CLHEP::deg, phiy, 0.,0.);
252 
253  cpv.position (ladderFullDown, layer, component_copy_no, tran, rot);
254 
255  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo test: " << ladderFullDown
256  << " number " << component_copy_no
257  << " positioned in " << layer.name()
258  << " at " << tran
259  << " with " << rot;
260  component_copy_no++;
261 
262 
263  //outer layer of stack
264  tran = DDTranslation(radius*cos(phi)+deltaX, radius*sin(phi)+deltaY, 0);
265  name = idName + std::to_string(component_copy_no);
266  rot = DDrot(DDName(name,idNameSpace), 90*CLHEP::deg, phix, 90*CLHEP::deg, phiy, 0.,0.);
267 
268  cpv.position (ladderFullUp, layer, component_copy_no, tran, rot);
269 
270  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo test: " << ladderFullUp
271  << " number " << component_copy_no
272  << " positioned in " << layer.name()
273  << " at " << tran
274  << " with " << rot;
275  component_copy_no++;
276  // Running total of phi coverage
277  phi_coverage_i=phi_coverage_pinn;
278  if(layout) {
279  phi_coverage_i=2*atan2((activeWidth/2.0),(radius+ladderThick));
280  }
281 
282  phi_coverage += phi_coverage_i;
283  //std::cout<<"\nLooking at phi = "<< phi<<"\tNumber "<<component_copy_no-1<<"\t with "<<phi_coverage_i<<"\trad of coverage for a total coverage of "<<phi_coverage;
284  if (phi_coverage>CLHEP::twopi&&covered==0) {
285  //std::cout<<"\nPhi coverage is achieved after "<<(component_copy_no-1)/2.0<<" ladders for R="<<radius/10.0<<" cm.\t and "<<number<<" ladders were asked for";
286  covered=1;
287  }
288 
289 
290  }
291  //std::cout<<"\nLayer covered "<<phi_coverage<<" radians in phi. (2Pi="<<CLHEP::twopi<<")";
292  if (phi_coverage<CLHEP::twopi) { throw cms::Exception("DDPixBarTPGStackLayerAlgo")
293  <<"\nAsking for a Geometry with gaps in phi.\n";}
294 
295 // Iterate over the number of ladders (now 2 cooltubes per ladder)
296 
297  DDTranslation tran2;
298  double coolOffset = 0.5*ladderWidth - hybridThick - 0.5*coolSide;
299  double coolOffset2 = -0.5*ladderWidth + 0.5*coolSide;
300 
301  for (int i=0; i<number; i++) {
302  phi = phi0 + i*dphi;
303  phix = phi + (90*CLHEP::deg) - phi_offset;
304  phiy = phix + (90*CLHEP::deg) ;
305 
306  deltaX= coolOffset*cos(90*CLHEP::deg-phi+phi_offset);
307  deltaY= coolOffset*sin(90*CLHEP::deg-phi+phi_offset);
308  deltaX2= coolOffset2*cos(90*CLHEP::deg-phi+phi_offset);
309  deltaY2= coolOffset2*sin(90*CLHEP::deg-phi+phi_offset);
310 
311  double radius;
312  if((i%2)==0) radius=moduleRadius-radius_offset;
313  else radius=moduleRadius+radius_offset;
314 
315  tran = DDTranslation(radius*cos(phi)-deltaX, radius*sin(phi)+deltaY, coolZ);
316  tran2 = DDTranslation(radius*cos(phi)-deltaX2, radius*sin(phi)+deltaY2, coolZ);
317 
318  name = idName + "xxx" + std::to_string(i+10000);
319 
320  rot = DDrot(DDName(name,idNameSpace), 90*CLHEP::deg, phix, 90*CLHEP::deg, phiy, 0.,0.);
321  cpv.position (coolTube, layer, i*2+1, tran, rot);
322  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo test: " << coolTube.name()
323  << " number " << i*2+1 << " positioned in "
324  << layer.name() << " at " << tran << " with "<< rot;
325  cpv.position (coolTube, layer, i*2+2, tran2, rot);
326  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo test: " << coolTube.name()
327  << " number " << i*2+2 << " positioned in "
328  << layer.name() << " at " << tran2 << " with "<< rot;
329  // check if ring layer and need cooling tubes on both sides
330  if(coolNumber == 2) {
331  tran = DDTranslation(radius*cos(phi)-deltaX, radius*sin(phi)+deltaY, -coolZ);
332  tran2 = DDTranslation(radius*cos(phi)-deltaX2, radius*sin(phi)+deltaY2, -coolZ);
333 
334  name = idName + "xxx2" + std::to_string(i+10000);
335 
336  rot = DDrot(DDName(name,idNameSpace), 90*CLHEP::deg, phix, 90*CLHEP::deg, phiy, 0.,0.);
337  cpv.position (coolTube, layer, number*2+i*2+1, tran, rot);
338  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo test: " << coolTube.name()
339  << " number " << number*2+i*2+1 << " positioned in "
340  << layer.name() << " at " << tran << " with "<< rot;
341  cpv.position (coolTube, layer, number*2+i*2+2, tran2, rot);
342  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo test: " << coolTube.name()
343  << " number " << number*2+i*2+2 << " positioned in "
344  << layer.name() << " at " << tran2 << " with "<< rot;
345  }
346  }
347 
348 
349  // End algorithm
350 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
const N & name() const
Definition: DDBase.h:78
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:41
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
void position(const DDLogicalPart &self, const DDLogicalPart &parent, std::string copyno, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=NULL)
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:16
A DDSolid represents the shape of a part.
Definition: DDSolid.h:37
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:66
U second(std::pair< T, U > const &p)
T sqrt(T t)
Definition: SSEVec.h:18
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:92
static DDSolid tubs(const DDName &name, double zhalf, double rIn, double rOut, double startPhi, double deltaPhi)
Definition: DDSolid.cc:823
static DDSolid trap(const DDName &name, double pDz, double pTheta, double pPhi, double pDy1, double pDx1, double pDx2, double pAlp1, double pDy2, double pDx3, double pDx4, double pAlp2)
Definition: DDSolid.cc:758
DDRotation DDrot(const DDName &name, DDRotationMatrix *rot)
Definition of a uniquely identifiable rotation matrix named by DDName name.
Definition: DDRotation.cc:90
tuple cout
Definition: gather_cfg.py:145
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = &#39;:&#39;
Definition: DDSplit.cc:4
const N & ddname() const
Definition: DDBase.h:80
void DDPixBarTPGStackLayerAlgo::initialize ( const DDNumericArguments nArgs,
const DDVectorArguments vArgs,
const DDMapArguments mArgs,
const DDStringArguments sArgs,
const DDStringVectorArguments vsArgs 
)

Definition at line 32 of file DDPixBarTPGStackLayerAlgo.cc.

References activeWidth, coolDz, coolMat, coolNumber, coolSide, coolThick, coolWidth, coolZ, hybridThick, idNameSpace, ladderNameDown, ladderNameUp, ladderThick, ladderWidth, layerDz, layout, LogDebug, module_offset, moduleRadius, DDCurrentNamespace::ns(), number, SpecificationBuilder_cfi::parent(), sensorEdge, tubeMat, and VolumeMaterial.

36  {
37 
38 
39 // Retrieve the variables from the XML files
41  DDName parentName = parent().name();
42 
43  VolumeMaterial = sArgs["VolumeMaterial"];
44  number = int(nArgs["Ladders"]);
45  layerDz = nArgs["LayerDz"];
46  sensorEdge= nArgs["SensorEdge"];
47  coolDz = nArgs["CoolDz"];
48  coolWidth = nArgs["CoolWidth"];
49  coolSide = nArgs["CoolSide"];
50  coolThick = nArgs["CoolThick"];
51  coolZ = nArgs["CoolZ"];
52  coolNumber = int(nArgs["CoolNumber"]);
53  hybridThick = nArgs["HybridThick"];
54  moduleRadius = nArgs["ModuleRadius"];
55  coolMat = sArgs["CoolMaterial"];
56  tubeMat = sArgs["CoolTubeMaterial"];
57  ladderNameUp = sArgs["LadderNameUp"];
58  ladderNameDown = sArgs["LadderNameDown"];
59  ladderWidth = nArgs["LadderWidth"];
60  ladderThick = nArgs["LadderThick"];
61  module_offset = nArgs["ModuleOffset"];
62  layout = int(nArgs["LayoutType"]);
63  activeWidth = nArgs["ActiveWidth"];
64 
65 // Debug messages
66  //std::cout <<"\nStack sensor with sensorEdge = "<<sensorEdge<<"\tand width = "<<activeWidth<<"\t at R = "<<moduleRadius;
67  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo debug: Parent " << parentName
68  << " NameSpace " << idNameSpace << "\n"
69  << "\tLadders " << number << "\tGeneral Material "
70  << VolumeMaterial << "\tLength " << layerDz << "\tSensorEdge "
71  << sensorEdge << "\tSpecification of Cooling Pieces:\n"
72  << "\tLength " << coolDz << " Width " << coolWidth
73  << " Side " << coolSide << " Thickness of Shell "
74  << coolThick << " Radial distance " << moduleRadius
75  << " Materials " << coolMat << ", " << tubeMat;
76 
77  LogDebug("PixelGeom") << "DDPixBarTPGStackLayerAlgo debug: Ladder "
78  << ladderNameUp << " width/thickness " << ladderWidth
79  << ", " << ladderThick;
80 }
#define LogDebug(id)
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:16
static std::string & ns()

Member Data Documentation

double DDPixBarTPGStackLayerAlgo::activeWidth
private

Definition at line 47 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::coolDz
private

Definition at line 31 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

std::string DDPixBarTPGStackLayerAlgo::coolMat
private

Definition at line 39 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

int DDPixBarTPGStackLayerAlgo::coolNumber
private

Definition at line 36 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::coolSide
private

Definition at line 33 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::coolThick
private

Definition at line 34 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::coolWidth
private

Definition at line 32 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::coolZ
private

Definition at line 35 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::hybridThick
private

Definition at line 37 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

std::string DDPixBarTPGStackLayerAlgo::idNameSpace
private

Definition at line 26 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

std::string DDPixBarTPGStackLayerAlgo::ladderNameDown
private

Definition at line 42 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

std::string DDPixBarTPGStackLayerAlgo::ladderNameUp
private

Definition at line 41 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::ladderThick
private

Definition at line 44 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::ladderWidth
private

Definition at line 43 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::layerDz
private

Definition at line 29 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::layout
private
double DDPixBarTPGStackLayerAlgo::module_offset
private

Definition at line 45 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::moduleRadius
private

Definition at line 38 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

int DDPixBarTPGStackLayerAlgo::number
private

Definition at line 28 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

double DDPixBarTPGStackLayerAlgo::sensorEdge
private

Definition at line 30 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by initialize().

std::string DDPixBarTPGStackLayerAlgo::tubeMat
private

Definition at line 40 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().

std::string DDPixBarTPGStackLayerAlgo::VolumeMaterial
private

Definition at line 27 of file DDPixBarTPGStackLayerAlgo.h.

Referenced by execute(), and initialize().