EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MapsMimosaAssembly.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file MapsMimosaAssembly.h
1 //
2 // AYK (ayk@bnl.gov), 2014/08/11
3 //
4 // MAPS Mimosa 34 container description;
5 //
6 
7 #include <TMath.h>
8 #include <TObject.h>
9 
10 #include <EicGeoParData.h>
11 
12 #ifndef _MAPS_MIMOSA_ASSEMBLY_
13 #define _MAPS_MIMOSA_ASSEMBLY_
14 
15 class MapsMimosaAssembly: public TObject {
16  public:
18  MapsMimosaAssembly(MapsMimosaAssembly *source) { *this = *source; };
20 
21  void ResetVars() {
24 
26 
28 
30 
32  };
33 
34  //
35  // Data container -> no private section;
36  //
37 
38  // Air container volume parameters sufficient to pack all the stuff;
39  Double_t mAssemblyBaseWidth; // air container TRD1 (with 0 width apex) volume base width
40  Double_t mAssemblySideSlope; // angle at the base of triangular container profile; [degree]
41  Double_t mChipToChipGap; // gap between neighboring chips on a stave
42 
43  // Space structure;
44  Double_t mApexEnforcementBeamDiameter;// diameter of the thin support tube at the assembly apex
45  Double_t mBaseEnforcementBeamWidth; // width of support triangles at the assemble edges
46  Double_t mEnforcementStripWidth; // width of side wall enforcement strip
47  Double_t mEnforcementStripThickness; // thickness of side wall enforcement strip
48  Double_t mSideWallThickness; // thickness of container side walls
49 
50  // Basic Mimosa 34 chip parameters; pixel size does not matter here (will play
51  // a role during digitization only);
52  Double_t mChipLength; // Mimosa 34 chip length along the stave (30mm)
53  Double_t mChipWidth; // Mimosa 34 chip width (15mm)
54  Double_t mChipThickness; // Mimosa 34 silicon thickness (50um)
55  Double_t mChipActiveZoneThickness; // Mimosa 34 active layer thickness (assume 20um in the middle)
56  Double_t mChipDeadAreaWidth; // Mimosa 34 dead area along the long side (2mm or so)
57 
58  Double_t mAssemblyDeadMaterialWidth; // cold head, etc can be wider than the Mimosa 34 chip
59 
60  // Layers at the base of the assembly;
61  Double_t mFlexCableKaptonThickness; // flex cable substrate thickness
62  Double_t mFlexCableAluThickness; // flex cable effective aluminum bus strips thickness
63  Double_t mColdPlateThickness; // cold plate thickness
64 
65  // Water pipes; assume 2 parallel pipes;
66  Double_t mWaterPipeInnerDiameter; // water pipe inner diameter
67  Double_t mWaterPipeWallThickness; // water pipe wall thickness
68 
69  double GetAssemblyLength() const { return mChipLength + mChipToChipGap; };
70 
71  double GetAssemblyHeight() const { return (mAssemblyBaseWidth/2)*
72  tan(mAssemblySideSlope*TMath::Pi()/180.);
73  };
74 
76 };
77 
78 #endif