Project
Loading...
Searching...
No Matches
FairGeoBasicShape.h
Go to the documentation of this file.
1/********************************************************************************
2 * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3 * *
4 * This software is distributed under the terms of the *
5 * GNU Lesser General Public Licence (LGPL) version 3, *
6 * copied verbatim in the file "LICENSE" *
7 ********************************************************************************/
8#ifndef FAIRGEOBASICSHAPE_H
9#define FAIRGEOBASICSHAPE_H
10
11#include <Rtypes.h> // for Int_t, etc
12#include <TNamed.h> // for TNamed
13#include <iosfwd> // for fstream
14
16class FairGeoVolume;
17class TArrayD;
22class FairGeoBasicShape : public TNamed
23{
24 protected:
25 Int_t nPoints; // number of points describing the shape
26 Int_t nParam; // number of parameters needed to create the ROOT shape
27 TArrayD* param; // parameters needed to create the ROOT shape
28 FairGeoTransform* center; // position of the volume center in the technical KS
29 FairGeoTransform* position; // position of the ROOT volume in its ROOT mother
30 public:
32 virtual ~FairGeoBasicShape();
33 Int_t getNumPoints() { return nPoints; }
34 Int_t getNumParam() { return nParam; }
35 TArrayD* getParam() { return param; }
38 virtual Int_t readPoints(std::fstream*, FairGeoVolume*);
39 virtual Bool_t writePoints(std::fstream*, FairGeoVolume*);
40 virtual void printPoints(FairGeoVolume* volu);
41 virtual TArrayD* calcVoluParam(FairGeoVolume*) { return 0; }
42 virtual void calcVoluPosition(FairGeoVolume*, const FairGeoTransform&);
43 virtual void calcVoluPosition(FairGeoVolume*, const FairGeoTransform&, const FairGeoTransform&) { return; }
44 void printParam();
45
46 protected:
48 ClassDef(FairGeoBasicShape, 0); // base class for all shapes
49 private:
51 FairGeoBasicShape& operator=(const FairGeoBasicShape&);
52};
53
54#endif /* !FAIRGEOBASICSHAPE_H */
FairGeoTransform * center
void posInMother(const FairGeoTransform &, const FairGeoTransform &)
virtual void printPoints(FairGeoVolume *volu)
virtual void calcVoluPosition(FairGeoVolume *, const FairGeoTransform &, const FairGeoTransform &)
ClassDef(FairGeoBasicShape, 0)
virtual Int_t readPoints(std::fstream *, FairGeoVolume *)
FairGeoTransform * getCenterPosition()
FairGeoTransform * getVoluPosition()
virtual Bool_t writePoints(std::fstream *, FairGeoVolume *)
virtual void calcVoluPosition(FairGeoVolume *, const FairGeoTransform &)
FairGeoTransform * position
virtual TArrayD * calcVoluParam(FairGeoVolume *)