R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandGeoPar.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3 * Copyright (C) 2019-2025 Members of R3B Collaboration *
4 * *
5 * This software is distributed under the terms of the *
6 * GNU General Public Licence (GPL) version 3, *
7 * copied verbatim in the file "LICENSE". *
8 * *
9 * In applying this license GSI does not waive the privileges and immunities *
10 * granted to it by virtue of its status as an Intergovernmental Organization *
11 * or submit itself to any jurisdiction. *
12 ******************************************************************************/
13
14#ifndef R3BNEULANDGEOPAR_H
15#define R3BNEULANDGEOPAR_H
16
17#include "FairParGenericSet.h"
18#include "TGeoNode.h"
19#include <map>
20class FairParamList;
21class TVector3;
22
30
31class R3BNeulandGeoPar : public FairParGenericSet
32{
33 public:
34 // needs to be public?
35 TGeoNode* fNeulandGeoNode;
36
37 R3BNeulandGeoPar(const char* name = "R3BNeulandGeoPar",
38 const char* title = "Neuland Geometry Parameters",
39 const char* context = "TestDefaultContext");
40 ~R3BNeulandGeoPar() override;
41
42 void clear() override;
43 void putParams(FairParamList*) override;
44 Bool_t getParams(FairParamList*) override;
45 void printParams() override;
46
47 TGeoNode* GetNeulandGeoNode() { return fNeulandGeoNode; } // FIXME: const?
48 void SetNeulandGeoNode(const TGeoNode* const p);
49
50 Double_t GetPaddleHalfLength() const;
51 TVector3 ConvertToLocalCoordinates(const TVector3& position, const Int_t paddleID) const;
52 TVector3 ConvertToGlobalCoordinates(const TVector3& position, const Int_t paddleID) const;
53 TVector3 ConvertGlobalToPixel(const TVector3& position) const;
54
55 private:
56 std::map<Int_t, TGeoNode*> fPaddleGeoNodes;
57 void BuildPaddleLookup();
58
60 R3BNeulandGeoPar& operator=(const R3BNeulandGeoPar&);
61
62 ClassDefOverride(R3BNeulandGeoPar, 1)
63};
64
65#endif // R3BNEULANDGEOPAR_H
NeuLAND geometry parameter storage.
void clear() override
~R3BNeulandGeoPar() override
TVector3 ConvertToGlobalCoordinates(const TVector3 &position, const Int_t paddleID) const
void SetNeulandGeoNode(const TGeoNode *const p)
void printParams() override
TVector3 ConvertGlobalToPixel(const TVector3 &position) const
void putParams(FairParamList *) override
TGeoNode * GetNeulandGeoNode()
R3BNeulandGeoPar(const char *name="R3BNeulandGeoPar", const char *title="Neuland Geometry Parameters", const char *context="TestDefaultContext")
Bool_t getParams(FairParamList *) override
Double_t GetPaddleHalfLength() const
TVector3 ConvertToLocalCoordinates(const TVector3 &position, const Int_t paddleID) const
TGeoNode * fNeulandGeoNode