er  dev
ERQTelescopeGeoComponentCsI.h
1 /********************************************************************************
2  * Copyright (C) Joint Institute for Nuclear Research *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence version 3 (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 
9 #ifndef ERQTelescopeGeoComponentCsI_H
10 #define ERQTelescopeGeoComponentCsI_H
11 
12 #include "ERTelescopeGeoComponentSensetive.h"
13 
14 #include "TString.h"
15 #include "TVector3.h"
16 
18 public:
19  ERQTelescopeGeoComponentCsI() = default;
20  ERQTelescopeGeoComponentCsI(const TString& typeFromXML, const TString& id)
21  : ERTelescopeGeoComponentSensetive(typeFromXML, id) {}
22  ERQTelescopeGeoComponentCsI(const TString& typeFromXML, const TString& id,
23  const TVector3& position, const TVector3& rotation)
24  : ERTelescopeGeoComponentSensetive(typeFromXML, id, position, rotation) {}
25  virtual ~ERQTelescopeGeoComponentCsI() = default;
26  virtual void ConstructGeometryVolume(void);
27  virtual TString GetBranchName(ERDataObjectType object,
28  OrientationAroundZ orientationAroundZ = OrientationAroundZ::Default,
29  ChannelSide side = ChannelSide::None) const;
30  virtual std::list<OrientationAroundZ> GetOrientationsAroundZ() const;
31  virtual std::list<ChannelSide> GetChannelSides() const;
32  virtual Int_t GetChannelFromSensetiveNodePath(
33  const TString& path, OrientationAroundZ orientation = OrientationAroundZ::Default) const;
34 private:
35  virtual void ParseXmlParameters();
36  Int_t fCubesCountX = 0;
37  Int_t fCubesCountY = 0;
38  Double_t fSplitSize = 0.;
39  Double_t fDeadLayer = 0.;
40  ClassDef(ERQTelescopeGeoComponentCsI,1)
41 };
42 #endif