8 #ifndef __RAT_DS_NestedTubeInfo__
9 #define __RAT_DS_NestedTubeInfo__
13 #include <G4ThreeVector.hh>
24 virtual void AddNestedTube(
const G4ThreeVector& _pos,
const G4ThreeVector& _dir,
const double _length,
25 const double _core_r,
const double _inner_r,
const double _outer_r,
26 const std::string _core_material,
const std::string _inner_material,
27 const std::string _outer_material) {
30 length.push_back(_length);
31 core_r.push_back(_core_r);
32 inner_r.push_back(_inner_r);
33 outer_r.push_back(_outer_r);
34 core_material.push_back(_core_material);
35 inner_material.push_back(_inner_material);
36 outer_material.push_back(_outer_material);
39 virtual void AddNestedTube(
const G4ThreeVector& _pos,
const G4ThreeVector& _dir,
const int _length) {
40 AddNestedTube(_pos, _dir, _length, 0.47, 0.485, 0.5,
"",
"",
"");
43 virtual Int_t GetNestedTubeCount()
const {
return pos.size(); }
45 virtual G4ThreeVector GetPosition(
int id)
const {
return pos.at(
id); }
46 virtual void SetPosition(
int id,
const G4ThreeVector& _pos) { pos.at(
id) = _pos; }
48 virtual G4ThreeVector GetDirection(
int id)
const {
return dir.at(
id); }
49 virtual void SetDirection(
int id,
const G4ThreeVector& _dir) { dir.at(
id) = _dir; }
51 virtual int GetLength(
int id)
const {
return length.at(
id); }
52 virtual void SetLength(
int id,
int _length) { length.at(
id) = _length; }
54 virtual double GetCoreR(
int id)
const {
return core_r.at(
id); }
55 virtual void SetCoreR(
int id,
double _core_r) { core_r.at(
id) = _core_r; }
57 virtual double GetInnerR(
int id)
const {
return inner_r.at(
id); }
58 virtual void SetInnerR(
int id,
double _inner_r) { inner_r.at(
id) = _inner_r; }
60 virtual double GetOuterR(
int id)
const {
return outer_r.at(
id); }
61 virtual void SetOuterR(
int id,
double _outer_r) { outer_r.at(
id) = _outer_r; }
63 virtual std::string GetCoreMaterial(
int id)
const {
return core_material.at(
id); }
64 virtual void SetCoreMaterial(
int id,
double _core_material) { core_material.at(
id) = _core_material; }
66 virtual std::string GetInnerMaterial(
int id)
const {
return inner_material.at(
id); }
67 virtual void SetInnerMaterial(
int id,
double _inner_material) { inner_material.at(
id) = _inner_material; }
69 virtual std::string GetOuterMaterial(
int id)
const {
return outer_material.at(
id); }
70 virtual void SetOuterMaterial(
int id,
double _outer_material) { outer_material.at(
id) = _outer_material; }
75 std::vector<G4ThreeVector> pos;
76 std::vector<G4ThreeVector> dir;
77 std::vector<double> length;
78 std::vector<double> core_r;
79 std::vector<double> inner_r;
80 std::vector<double> outer_r;
81 std::vector<std::string> core_material;
82 std::vector<std::string> inner_material;
83 std::vector<std::string> outer_material;
Definition: NestedTubeInfo.hh:19
Definition: CCCrossSecMessenger.hh:29