PandaRoot
PndFtsMapCreator.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef PNDFTSMAPCREATOR_H
14 #define PNDFTSMAPCREATOR_H
15 
16 #include <iostream>
17 #include <map>
18 #include "TObject.h"
19 
20 class PndFtsTube;
21 class PndGeoFtsPar;
22 
23 class TClonesArray;
24 
25 class PndFtsMapCreator : public TObject {
26  public:
28  PndFtsMapCreator(Int_t geoType);
31 
32  // general functions
33  void SetGeneralParameters();
34 
35  // general functions, to be specified depending on geo type
36  Int_t GetTubeIDFromPath(TString path);
37  PndFtsTube *GetTubeFromTubeID(Int_t tubeid);
38  TClonesArray *FillTubeArray();
39  Int_t GetChamberIDFromPath(TString path);
40  Int_t GetChamberIDFromName(TString name);
41  Int_t GetLayerID(Int_t chamberid, Int_t tubeid, TString path);
42  Int_t IsSkew(Int_t layerid);
43  Int_t GetTubeIDTot(Int_t chamberid, Int_t layerid, Int_t tubeid, TString path);
44 
45  private:
46  // geometry type 1 specific functions
47  Int_t GetTubeIDFromPathGeoType1(TString path);
48  Int_t GetTubeIDFromNameGeoType1(TString name);
49  TString GetNameFromPathGeoType1(TString path);
50  TString GetNameFromTubeIDGeoType1(Int_t tubeid, Bool_t isCopy);
51  PndFtsTube *GetTubeFromTubeIDToFillGeoType1(Int_t tubeid);
52  PndFtsTube *GetTubeFromNameToFillGeoType1(TString tubename, Int_t tubeid, Int_t layerid);
53  TClonesArray *FillTubeArrayGeoType1();
54 
55  Int_t fGeoType;
56  PndGeoFtsPar *fFtsParameters;
57  Double_t fTubeInRad, fTubeOutRad;
58 
59  // fGeoType1
60  // std::map<int, int> fCopy_Map;
61 
63  PndFtsMapCreator &operator=(const PndFtsMapCreator &) { return *this; }
64 
65  protected:
66  ClassDef(PndFtsMapCreator, 1)
67 };
68 
69 #endif
Int_t GetChamberIDFromName(TString name)
Int_t GetTubeIDFromPath(TString path)
Int_t GetChamberIDFromPath(TString path)
Int_t GetLayerID(Int_t chamberid, Int_t tubeid, TString path)
Int_t IsSkew(Int_t layerid)
Int_t GetTubeIDTot(Int_t chamberid, Int_t layerid, Int_t tubeid, TString path)
TClonesArray * FillTubeArray()
PndFtsTube * GetTubeFromTubeID(Int_t tubeid)
void SetGeneralParameters()