SND@LHC Software
Loading...
Searching...
No Matches
ShipTAUMagneticSpectrometer Class Reference

#include <ShipTAUMagneticSpectrometer.h>

Inheritance diagram for ShipTAUMagneticSpectrometer:
Collaboration diagram for ShipTAUMagneticSpectrometer:

Public Member Functions

 ShipTAUMagneticSpectrometer (const char *name, const Double_t zLS, const Double_t FeL, const Double_t AirL, const Double_t SpectroL, const Double_t GapV, const Double_t DGap, const Double_t MGap, const Double_t mf, const char *Title="ShipTAUMagneticSpectrometer")
 
 ShipTAUMagneticSpectrometer ()
 
virtual ~ShipTAUMagneticSpectrometer ()
 
void ConstructGeometry ()
 
void Initialize ()
 

Public Attributes

ClassDef(ShipTAUMagneticSpectrometer, 1) protected Double_t IronLenght
 
Double_t AirLenght
 
Double_t SpectrometerLenght
 
Double_t GapFromVacuum
 
Double_t DriftGap
 
Double_t MiddleGap
 
Double_t MagneticField
 

Detailed Description

Definition at line 10 of file ShipTAUMagneticSpectrometer.h.

Constructor & Destructor Documentation

◆ ShipTAUMagneticSpectrometer() [1/2]

ShipTAUMagneticSpectrometer::ShipTAUMagneticSpectrometer ( const char *  name,
const Double_t  zLS,
const Double_t  FeL,
const Double_t  AirL,
const Double_t  SpectroL,
const Double_t  GapV,
const Double_t  DGap,
const Double_t  MGap,
const Double_t  mf,
const char *  Title = "ShipTAUMagneticSpectrometer" 
)

Definition at line 34 of file ShipTAUMagneticSpectrometer.cxx.

35 : FairModule(name ,Title)
36{
37 zLastSlab = zLS;
38 IronLenght = FeL;
39 AirLenght = AirL;
40 SpectrometerLenght = SpectroL;
41 GapFromVacuum = GapV;
42 DriftGap = DGap;
43 MiddleGap = MGap;
44 MagneticField = mf;
45}
ClassDef(ShipTAUMagneticSpectrometer, 1) protected Double_t IronLenght

◆ ShipTAUMagneticSpectrometer() [2/2]

ShipTAUMagneticSpectrometer::ShipTAUMagneticSpectrometer ( )

Definition at line 29 of file ShipTAUMagneticSpectrometer.cxx.

30 : FairModule("ShipTAUMagneticSpectrometer", "")
31{
32}

◆ ~ShipTAUMagneticSpectrometer()

ShipTAUMagneticSpectrometer::~ShipTAUMagneticSpectrometer ( )
virtual

Definition at line 25 of file ShipTAUMagneticSpectrometer.cxx.

26{
27}

Member Function Documentation

◆ ConstructGeometry()

void ShipTAUMagneticSpectrometer::ConstructGeometry ( )

Definition at line 47 of file ShipTAUMagneticSpectrometer.cxx.

48{
49 Int_t NIronSlabs = 12;
50
51 TGeoVolume *top=gGeoManager->GetTopVolume();
52 TGeoMedium *Fe = gGeoManager->GetMedium("iron");
53
54 Double_t d = 0;
55
56 TGeoUniformMagField *magField = new TGeoUniformMagField(0.,-MagneticField,0.);
57 TGeoUniformMagField *RetField = new TGeoUniformMagField(0.,MagneticField,0.);
58
59 TGeoBBox *Layer = new TGeoBBox(225,400,IronLenght/2);
60 TGeoVolume *volLayer = new TGeoVolume("volLayer",Layer,Fe);
61 for(Int_t i = 0; i< NIronSlabs; i++)
62 {
63 d = zLastSlab - i*(IronLenght+AirLenght);
64 top->AddNode(volLayer,i,new TGeoTranslation(0, 0, d));
65 }
66 volLayer->SetField(magField);
67
68 cout <<"************************************" << endl;
69 cout << " IronLenght+AirLenght = " << IronLenght+AirLenght << endl;
70 cout << " NIronSlabs = " << NIronSlabs << endl;
71 cout << " zLastSlab = "<< zLastSlab << endl;
72 cout << d << endl;
73 Double_t d1 = d- (MiddleGap + IronLenght); //z coord of the center of the last layer of the first spectrometer
74 cout << d1 << endl;
75
76 TGeoVolume *volLayer2 = new TGeoVolume("volLayer2",Layer,Fe);
77 for(Int_t i = 0; i< NIronSlabs; i++)
78 {
79 Double_t d2 = d1-i*(IronLenght+AirLenght);
80 top->AddNode(volLayer2,i,new TGeoTranslation(0, 0, d2));
81 }
82 volLayer2->SetField(RetField);
83
84 cout <<"************************************" << endl;
85
86
87}
int i
Definition ShipAna.py:86

◆ Initialize()

void ShipTAUMagneticSpectrometer::Initialize ( )

Member Data Documentation

◆ AirLenght

Double_t ShipTAUMagneticSpectrometer::AirLenght

Definition at line 26 of file ShipTAUMagneticSpectrometer.h.

◆ DriftGap

Double_t ShipTAUMagneticSpectrometer::DriftGap

Definition at line 29 of file ShipTAUMagneticSpectrometer.h.

◆ GapFromVacuum

Double_t ShipTAUMagneticSpectrometer::GapFromVacuum

Definition at line 28 of file ShipTAUMagneticSpectrometer.h.

◆ IronLenght

ClassDef (ShipTAUMagneticSpectrometer,1) protected Double_t ShipTAUMagneticSpectrometer::IronLenght

Definition at line 25 of file ShipTAUMagneticSpectrometer.h.

◆ MagneticField

Double_t ShipTAUMagneticSpectrometer::MagneticField

Definition at line 31 of file ShipTAUMagneticSpectrometer.h.

◆ MiddleGap

Double_t ShipTAUMagneticSpectrometer::MiddleGap

Definition at line 30 of file ShipTAUMagneticSpectrometer.h.

◆ SpectrometerLenght

Double_t ShipTAUMagneticSpectrometer::SpectrometerLenght

Definition at line 27 of file ShipTAUMagneticSpectrometer.h.


The documentation for this class was generated from the following files: